Android埋点存在两种方案,一种是全埋点方案,就是埋点全部自动收集数据,无需开发者写代码,实现方案会很复杂,单模块的开发者控制不了逻辑;二是自埋点方案,大部分的埋点数据都是通过开发者自己埋入信息,自由度很高。具体方案应该说适合的才是最好的。
一、全埋点方案
无需Android应用程序开发工程师写代码或者只写少量的代码,就能预先自动收集用户的所有行为数据,然后根据实际的业务分析需求从中筛选出所需行为数据并进行分析。
全埋点采集事件分为4中:(事件名称前面的$符号,指事件是预置事件,与之对应的是自定义事件)
$AppStart事件:指应用程序启动,同时包括冷启动和热启动场景
$AppEnd事件:指应用程序退出,包括应用程序的正常退出、按Home键进入后台、应用程序被强杀、应用程序崩溃等场景
$AppViewScreen:指应用程序页面浏览,对于Android应用程序来说,指切换Activity或Fragment
$AppClick事件:指应用程序控件点击,即View被点击
$AppClick事件全埋点技术分为两种:
一是可以使用静态代理的方式,通过Gradle Plugin在应用程序编译期间“插入”代码或者修改代码(.Class文件),比如AspectJ、ASM、Javassist、AST等方案。
二是动态代理,代码运行的时候去代理。比如Vie