內(nèi)容簡介
這是一本實戰(zhàn)為導向的、翔實的Android全埋點技術與解決方案手冊,是國內(nèi)知名大數(shù)據(jù)公司神策數(shù)據(jù)在該領域多年實踐經(jīng)驗的總結。由神策數(shù)據(jù)合肥研發(fā)中心負責人親自執(zhí)筆,他在Android領域有近10年研發(fā)經(jīng)驗,開發(fā)和維護著知名的商用開源 Android & iOS 數(shù)據(jù)埋點SDK。
本書詳細闡述了 Android 全埋點的8種解決方案,涵蓋各種場景,從0到1詳解技術原理和實現(xiàn)步驟,并且提供完整的源代碼,各級研發(fā)工程師均可借此實現(xiàn)全埋點數(shù)據(jù)采集,為市場解開全埋點的神秘面紗。
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
推薦序
前言
第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區(qū)別155
8.1.7 AspectJ 使用方法157
8.1.8 通過Gradle 配置使用 AspectJ157
8.1.9 自定義Gradle Plugin162
8.1.10 發(fā)布 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