描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111621492
(1)国内知名大数据公司神策数据出品,多位行业专家联袂推荐。
(2)作者是神策数据合肥研发中心负责人,有近10年Android开发经验,开发和维护着知名商用开源 Android & iOS 数据埋点 SDK。
(3)全书详细阐述Android全埋点的8种解决方案,涵盖全埋点的各种场景,且都提供完整项目源码。
这是一本实战为导向的、翔实的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
目 录
推荐序
前言
第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研发工作已经有9个年头,作为国内第一批Android研发工作者,我见证了Android的发展历程,也开发和维护着国内第一个商用的开源Android &
iOS 数据埋点SDK。
我目前就职于神策数据,担任神策数据合肥研发中心负责人。神策数据是一家以重构中国互联网数据根基为使命的公司,十分重视基础数据的采集与建模。随着大数据行业的快速发展,数据采集也变得越来越重要,数据基础夯实与否,取决于数据的采集方式。埋点方式多种多样,按照埋点位置不同,可以分为前端(客户端)埋点与后端(服务器端)埋点。其中全埋点(无埋点)是目前较为流行的前端埋点方式之一。
在服务数百家客户的过程中,我逐渐萌生出写此书的想法,原因有三:
第一,国内企业对全埋点技术需求迫切,但是图书市场仍处空白。
全埋点技术炙手可热,全埋点采用“全部采集,按需选取”的形式,对页面中所有交互元素的用户行为进行采集,通过界面配置来决定哪些数据需要进行分析,也被誉为“最全、最便捷、界面友好、技术门槛低”的数据采集方式。
第二,市面上存在对全埋点概念过度包装的情况,希望本书能够揭开全埋点的神秘面纱。
数据埋点技术在互联网(尤其是移动端)上使用非常普遍,一些数据分析服务厂商将全埋点概念经过包装后,作为核心技术来卖,给人神秘无比的感觉。
第三,给企业带来价值,推动开发者参与大数据行业的生态建设。
神策数据的采集技术一直在不断革新,神策SDK组件统称为OpenSasdk,包括C SDK、C
SDK、CSharp SDK、Java SDK、Python SDK、PHP SDK、Ruby
SDK、Golang SDK、Node SDK、APICloud SDK、Android SDK、iOS SDK等,神策数据愿意将一些成熟的技术与国内外开发者交流与分享,并已于2019年1月正式成立供IT开发者的分享、使用与交流技术的开源社区—Sensors Data开源社区,一方面能够更好地服务客户,推动企业的数字化转型;一方面借此造福同行,推动开发者参与数据行业生态建设。
我希望通过此书全面公开Android 全埋点技术,从0到1进行详细介绍,尤其是控件点击事件全埋点采集的8种方法,并都提供了完整的项目源码。
读者对象
本书适用于初级、中级、高级水平的Android 开发工程师、技术经理、技术总监等。
如何阅读这本书
本书系统讲解了Android 全埋点的解决方案,特别是控件点击事件的全埋点采集,总结并归纳了如下8种解决方案,并且都提供了完整的项目源码。
AppStart、$AppEnd 全埋点方案
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
勘误和支持
由于作者的水平有限,编写时间仓促,以及技术不断地更新和迭代,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,特意创建了一个网站:http://book.blendercn.org,读者可以将书中的错误发布在Bug勘误表页面中。同时,如果你遇到任何问题,也可以访问Q&A页面,我将尽量在线上为读者提供满意的解答。书中的全部源文件可以从上面这个网站下载,我会将相应的功能更新及时发布出来。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱[email protected],期待能够得到你们的真挚反馈。
致谢
感谢神策数据创始人团队桑文锋、曹犟、付力力、刘耀洲在工作中的指导和帮助。
感谢机械工业出版社华章公司的编辑杨福川老师,在这半年多的时间中始终支持我的写作,你的鼓励和帮助引导我能顺利完成全部书稿。
谨以此书献给大数据行业的关注者和建设者!
王灼洲
2019年2月
神策数据志在推动中国的数据化建设进程,我们正在将探索和实践成果逐渐贡献出来,供各位开发者学习。灼洲作为神策数据的 iOS 和 Android SDK开发负责人,这两年多来对全埋点相关的技术进行了深入的研究和大量实践,希望这本书能帮到大家。
——桑文锋 神策数据创始人&CEO
本书对客户端无痕埋点做了全面详细的介绍,对于想全面了解无痕埋点技术方案的读者有非常大的帮助,非常推荐大家阅读。
——Henry 趣头条客户端研发总监
如何高效、高质量的采集数据是数据分析工作的核心。全埋点即“全部采集,按需选取”,既能满足分析需求,又能提高埋点的效能。该书详细讲解了全埋点技术的理论知识和实践方法,并提供了大量的源码支撑。
——朱辉 APUS大数据总监
这本书系统化地梳理了如何自动化获取Android APP上的用户行为数据,从App打开、页面访问到App结束,进行了全面的技术讲解,是不可多得的干货,对致力于Android开发的程序员来说会帮助很大!
——方晨 拍拍贷大数据与人工智能部门高级总监
全埋点的数据采集方案是一个巨大的创新,从*底层的技术框架层面解决数据采集的问题,把复杂问题简单化,解决企业内部各个角色的协同效率问题,对于业务复杂度较低的场景或不同业务通用的场景较为适用。
——陈恭明 作业帮 CTO
作为数据治理体系的基础环节,数据采集特别是移动端的用户行为数据收集,一直存在着埋点覆盖的全面性不够、业务逻辑侵入性强、采集数据质量差等一系列问题。如果你也有这方面的困扰,推荐阅读本书,这是神策数据在长期的Android端全埋点技术实践中总结出来的经验。
——高玉石 趣店大数据部 & 技术工程部总监
评论
还没有评论。