android无埋点统计的调研分析

埋点调研:
1.代码埋点:友盟,百度统计

优点:灵活、准确,可以定制化。
缺点:业务埋点量非常大,开发成本高,不易维护,如果要修改、新增埋点,需要重新发版。

2.可视化埋点:对代码改动比较大

代表方案:Github上开源的Mixpanel

3.全埋点:编译时字节码插桩埋点
统计比较通用的数据

代表方案:GrowingIO、美团的替换UI控件方案。

优点:开发效率高,无需手动埋点,编译时插入代码,性能高,支持数据可回溯。

缺点:埋点灵活性低。

1.美团的方案
https://juejin.im/entry/58e8aa25a22b9d00589bd297
美团点评的方案,就是重写 UI 控件,然后拦截其事件,符合要求的,发送统计数据到统计系统中。
虽然可以解决问题,但是又需要面临另外一个问题,移植的成本非常的高
所以美团想到的了两个方案:

参考 v7 支持库的思路,通过 AppCompatDelegate 代理自动替换 UI 控件。
编写一个 Gradle 插件,在运行的时候,动态修改其控件的父类,达到移植的效果。

方案一,的问题在于,只能替换你 App 内直接使用的 UI 控件,对于第三方库中重写的 UI 控件,这样的方案是不行的,所以才演变出需要方案二。
而方案二实际上是在编译期间做的改动,所以也不会影响运行效率,只是可能会耽误一点编译的时间,这点效率问题,其实我们是可以接受的。
在Android中,美团自定义了常用的UI控件,例如TextView、LinearLayout、ListView、ViewPager等,
重写了事件响应方法,在这些方法内部自动填写埋点代码。重写控件的好处在于可以拦截到更多的事件,执行效率高并且运行稳定。但其弊端也非常明显——移植成本很高!

为了解决这个问题,美团借鉴了Android v7支持库的思路,即通过AppCompatDelegate代理自动替换UI控件。

2.58方案 https://juejin.im/entry/5b2400bc51882574b55e4fc7
开源地址:https://github.com/nailperry-zd/LazierTracker
自定义gradle插件法,无痕埋点,完成功能
自定义gradle插件:https://www.jianshu.com/p/250c83449dc0

步骤

1.本地插件集成
app的build.grade中添加
// 直接引用buildsrc的插件类
apply plugin: com.codeless.plugin.InjectPluginImpl

2. 自定义参数

3. 远程插件集成

这一步需要您修改好ReWriterConfig后,发布插件到远程仓库,然后在app中引用远程插件。具体步骤请参考
https://github.com/nailperry-zd/Codeless-Gradle-Plugin-Repo

4.业务数据采集

业务数据的采集需要下发json格式的配置文件,该文件本该由埋点服务器下发。
开源框架这里为了演示方	便,将配置文件放在tracker模块的assets目录下

阅读过的文章:
Android无埋点数据收集SDK关键技术 https://www.jianshu.com/p/b5ffe845fe2d
58无埋点数据采集技术在Android端实践 https://juejin.im/entry/5b2400bc51882574b55e4fc7
美团点评前端无痕埋点实践 https://juejin.im/entry/58e8aa25a22b9d00589bd297

应用于Android无埋点的Gradle插件解析 https://www.jianshu.com/p/250c83449dc0

无痕埋点方案,现有方案调研 https://juejin.im/post/58fea1e2b123db6e95a8a2a1

Android无埋点数据收集SDK关键技术: https://www.jianshu.com/p/b5ffe845fe2d

51 Android自动埋点实践
https://mp.weixin.qq.com/s?__biz=MzU4MTEyODIzMg==&mid=2247484029&idx=1&sn=290f9d75e69b8c7bba7aa51079540d66&chksm=fd4d1b3aca3a922cd8d46433444bf620c51b45f7ed4622a8e3f138197b96ab0e13659f70e578&mpshare=1&scene=23&srcid=02183kb0VwL5tzPj5sVGDH8R#rd

https://www.jianshu.com/p/cd83e81b78aa

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值