Android全埋点解决方案
上QQ阅读APP看书,第一时间看更新

前言

为什么要写这本书?

转眼间,我从事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页面,我将尽量在线上为读者提供满意的解答。书中的全部源文件可以从上面这个网站下载,我会将相应的功能更新及时发布出来。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱congcong009@gmail.com,期待能够得到你们的真挚反馈。

致谢

感谢神策数据创始人团队桑文锋、曹犟、付力力、刘耀洲在工作中的指导和帮助。

感谢机械工业出版社华章公司的编辑杨福川老师,在这半年多的时间中始终支持我的写作,你的鼓励和帮助引导我能顺利完成全部书稿。

谨以此书献给大数据行业的关注者和建设者!

王灼洲

2019年2月