内容简介 · · · · · ·
这是一本实战为导向的、翔实的Android全埋点技术与解决方案手册,是国内知名大数据公司神策数据在该领域多年实践经验的总结。由神策数据合肥研发中心负责人亲自执笔,他在Android领域有近10年研发经验,开发和维护着知名的商用开源 Android & iOS 数据埋点SDK。
本书详细阐述了 Android 全埋点的8种解决方案,涵盖各种场景,从0到1详解技术原理和实现步骤,并且提供完整的源代码,各级研发工程师均可借此实现全埋点数据采集,为市场解开全埋点的神秘面纱。
8种Android全埋点解决方案包括:
AppClick 全埋点方案1:代理 View.OnClickListener、
AppClick 全埋点方案2:代理 Window.Callback
AppClick 全埋点方案3:代理 View.AccessibilityDelegate
Ap...
这是一本实战为导向的、翔实的Android全埋点技术与解决方案手册,是国内知名大数据公司神策数据在该领域多年实践经验的总结。由神策数据合肥研发中心负责人亲自执笔,他在Android领域有近10年研发经验,开发和维护着知名的商用开源 Android & iOS 数据埋点SDK。
本书详细阐述了 Android 全埋点的8种解决方案,涵盖各种场景,从0到1详解技术原理和实现步骤,并且提供完整的源代码,各级研发工程师均可借此实现全埋点数据采集,为市场解开全埋点的神秘面纱。
8种Android全埋点解决方案包括:
AppClick 全埋点方案1:代理 View.OnClickListener、
AppClick 全埋点方案2:代理 Window.Callback
AppClick 全埋点方案3:代理 View.AccessibilityDelegate
AppClick 全埋点方案4:透明层
AppClick 全埋点方案5:AspectJ
AppClick 全埋点方案6:ASM
AppClick 全埋点方案7:Javassist
AppClick 全埋点方案8:AST
作者简介 · · · · · ·
王灼洲
资深Android开发工程师,有近10年Android 相关开发经验,国内第一批Android研发工程师,开发和维护着国内第一个商用的开源 Android & iOS 数据埋点 SDK。
目前就职于神策网络科技(北京)有限公司公司,担任合肥研发中心负责人,是神策数据最早核心骨干员工。2009~2016就职于北京天宇朗通通信设备股份有限公司公司新产品部,担任 Android 系统工程师。
神策数据
神策数据是专业的大数据分析平台服务提供商,致力于帮助客户实现数据驱动。围绕用户级大数据分析和管理需求,推出神策分析、神策客景、神策自动化运营、神策智能推荐等产品。目前积累了中国银联、中国电信、百度视频、百联、万达、小米、广发证券等 600 余家付费企业用户的服务和客户成功经验,为客户全面提供指标梳理、数据模型搭建等专业的咨询、实施和技术支持服务。
目录 · · · · · ·
推荐序
前言
第1章 全埋点概述1
1.1 Android View 类型3
1.2 View 绑定listener 方式7
第2章 $AppViewScreen全埋点
方案10
2.1 关键技术Application.Activity
LifecycleCallbacks10
2.2原理概述11
2.3 案例12
2.4 完善方案24
2.5 扩展采集能力30
第3章 $AppStart、$AppEnd
全埋点方案33
3.1 原理概述34
3.2 案例35
3.3 缺点46
第4章 $AppClick全埋点方案1:代理
View.OnClickListener47
4.1 关键技术47
4.2 原理概述48
4.3 案例49
4.4 引入DecorView62
4.5 引入ViewTreeObserver.
OnGlobalLayoutListener64
4.6 扩展采集能力67
4.7 缺点91
第5章 $AppClick 全埋点方案2:代理
Window.Callback92
5.1 关键技术92
5.2 原理概述93
5.3 案例93
5.4 扩展采集能力101
5.5 缺点111
第6章 $AppClick 全埋点方案3:代理
View.AccessibilityDelegate112
6.1 关键技术112
6.1.1 Accessibility112
6.1.2 View.AccessibilityDelegate113
6.2 原理概述114
6.3 案例114
6.4 扩展采集能力122
6.5 缺点129
第7章 $AppClick全埋点方案4:
透明层130
7.1 原理概述130
7.1.1 View onTouchEvent130
7.1.2 原理概述130
7.2 案例131
7.3 扩展采集能力139
7.4 缺点145
第8章 $AppClick全埋点方案5:
AspectJ146
8.1 关键技术146
8.1.1 AOP146
8.1.2 AspectJ148
8.1.3 AspectJ 注解148
8.1.4 切点表达式151
8.1.5 JoinPoint153
8.1.6 call与execution区别155
8.1.7 AspectJ 使用方法157
8.1.8 通过Gradle 配置使用 AspectJ157
8.1.9 自定义Gradle Plugin162
8.1.10 发布 Gradle 插件165
8.1.11 使用 Gradle Plugin167
8.1.12 Plugin Project168
8.2 原理概述171
8.3 案例171
8.4 完善方案193
8.5 扩展采集能力196
8.6 缺点202
第9章 $AppClick全埋点方案6:
ASM203
9.1 关键技术203
9.1.1 Gradle Transform203
9.1.2 Gradle Transform 实例207
9.1.3 ASM213
9.2 原理概述220
9.3 案例220
9.4 完善240
9.5 扩展采集能力241
9.6 缺点250
第10章 $AppClick全埋点方案7:
Javassist251
10.1 关键技术251
10.1.1 Javassist251
10.1.2 Javassist基础251
10.2 原理概述255
10.3 案例255
10.4 扩展采集能力272
第11章 $AppClick全埋点方案8:
AST280
11.1 关键技术280
11.1.1 APT280
11.1.2 Element280
11.1.3 APT实例282
11.1.4 javapoet293
11.1.5 AST295
11.2 原理概述295
11.3 案例295
11.4 完善方案306
11.5 扩展采集能力308
11.6 缺点317
· · · · · · (收起)
喜欢读"Android全埋点解决方案"的人也喜欢的电子书 · · · · · ·
喜欢读"Android全埋点解决方案"的人也喜欢 · · · · · ·
Android全埋点解决方案的书评 · · · · · · ( 全部 2 条 )
> 更多书评 2篇
论坛 · · · · · ·
这本书总结了全埋点个多种实现方式,作者对每一种... | 来自lantier | 2019-04-28 12:47:01 |
以下书单推荐 · · · · · · ( 全部 )
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有93人想读,手里有一本闲着?
订阅关于Android全埋点解决方案的评论:
feed: rss 2.0
0 有用 小猫喵喵 2021-02-24 15:32:48
重复知识比较多
7 有用 Ethan井 2019-04-08 11:09:40
拿到书迫不及待地读完了第2章和第3章,内容的指导性非常强,不仅原理讲明白了,而且还一步步地讲了代码的实现过程,对代码的分析言简意赅,直指要点。更重要的是,源代码都公开了,可以直接复用。
1 有用 ZjU3MmVmYmZiO 2019-07-20 22:31:23
Android这边很多都是从Java开发那边借鉴过来的,然后结合子领域的领域知识进行应用。这本书提到的AspectJ也好,AST、ASM、JavaAssist、JcTree也好,都是Java开发玩得很多年的东西。里面调到的gradle transform API倒是新的。从书的内容来看,还不错,给这些技术在Android领域中的应用提供了不错的例子,但是组织方式还是依旧粗糙,没必要的的东西太多了。
2 有用 岳 2019-04-09 11:07:39
期待已久的一本书,上架后立即买了一本,不负所望 作者在书中阐述了全埋点的几种方式,并说明了优缺点,开发者也可以根据这些方式选择最合适的
7 有用 王见现 2019-04-08 11:32:25
神策数据在大数据领域,尤其是数据采集领域算是行业的领军企业了,看了中间两章的内容,算得上是用心创作的,推荐给搞Android开发的同行们。
0 有用 中流击水 2021-11-30 10:38:06
一般般
0 有用 雨霖铃 2021-11-02 00:26:21
埋点主要是为了营销做更精准的用户画像,还可以用作CES和费力度的数据源和验证手段,优化用户体验。虽然一直在夸全埋点,但是代码和埋点解耦的快速部署也很好用。讲的很清晰~
0 有用 小猫喵喵 2021-02-24 15:32:48
重复知识比较多
2 有用 在路上的水妖 2020-07-15 14:41:27
重复性太高了。太浅,不干货。
1 有用 RUIM 2019-08-27 23:26:42
2019#69NLP公开课囫囵吞枣看完。 这本书基于各种不同安卓API深耕,特别是Gradle/AOP/ASM等通过静动态代理,编译器织去入、类装载织入、动态织入等,长见识了,发现自己很多不足。 最近写埋点,相比这本书而已,自己一直停留在原始阶段采用“不同的设计模式”+“编译控制”+“反射”的组合方式,太原始的埋点收集机制。