题主的项目中,有关埋点上报的内容,全部都是跟业务代码写在一起的。
感觉这样特别不科学:
- 代码不美观。一串业务代码里或多或少总是会带一些统计相关的逻辑
- 引起不必要的 Crash 。有时候同事可能一不小心加了一段代码导致偶现的 Crash ,但此时测试刚好没测到。于是带上线了。像这类需求讲道理无论怎样是不允许影响正常业务的。
- 重复且枯燥无味的劳动。每次撸了需求还得专门找时间做埋点,测试还要抽时间测。浪费时间,还很无聊。
- 每个版本的埋点上报都不太一致,数据不能很快地看到,量也不会很大。如果能够把老版本就已经存在的点也上报上来该多好。
- blablabla 。。。
所以我挺想自己造个轮子给项目里用,解决上述的一些问题。于是跑去查了查资料,发现有一个术语“无埋点”好像屌屌的。。。但搜了不少文章,都感觉弱弱的,只能通过 AOP 去做一些常规的点击啊跳转啊之类常用事件的自动统计。但如果是一些自定义的事件,或者是上报需要带上下文参数的,就 GG 了。。。
于是来问问大家项目中的埋点都是怎么做的,有没有什么比较好的方案?