- Android全埋点解决方案
- 王灼洲
- 981字
- 2023-07-19 17:42:46
推荐序
到目前为止,中国的信息化建设大致经历了两个阶段。2015年之前,IT系统的引入主要是为了提升业务运营的效率,形成一套人与IT组件构成的业务系统,在纯线上产品中,只有IT组件构成的业务系统。在IT化的过程中,产生了数据这一副产品,通过数据可以进行一些基础的统计和分析工作。2015年之后,大数据的概念深入人心,大数据的场景逐步落地,之前的数据生成思路需要进行革新,不能只把数据当成副产品来看待,而是要考虑面向数据流的思路,IT系统只是数据生成的载体。
这就要求我们在IT系统建设时,不能只是为了完成业务功能,还要考虑如何进行有效的数据采集,对工程师的技能要求发生了变化,不仅要会写代码实现功能,还要建立数据思维。
我2007年加入百度,2015年离开,这八年的时间我主要做了一件事情,就是从零构建百度的用户行为数据平台,这其中走了不少弯路,也实现了不少价值。最深刻的一点体会就是:数据这件事情要做好,最重要的是数据源。只要数据源头解决好了,后面的分析处理都比较好办。那怎么才叫把数据源解决好呢?我也总结了四个字:大、全、细、时。大是指宏观上,当然也有物理层面的含义;全就是指要把多种数据源都采集下来,是全量而非抽样;细强调多维度,维度越多,越能精细化分析;时就是时效性,数据采集和查询分析都需要尽可能地实时。
为了实现对数据的采集,可以有三种方式:代码埋点、工具导入和全埋点。这三种方式都是手段,并且各有优缺点,选择时需要完全基于实际的业务需求和现状来设计,而不能一味地追求某一种方式,如果把全埋点当成必杀技,那就大错特错了。
灼洲作为神策数据的iOS和Android SDK开发负责人,这两年多来对相关的技术进行了深入的研究和大量实践。特别是得益于Android系统的开放性,使数据的自动收集更为容易。由于自动收集的本质是对所有操作进行拦截,相比于代码埋点只是采集的一部分必要操作,显然利用自动收集的方式收集的操作类型更全面,因此我们将它命名为全埋点,而不是无埋点。
当然,虽然这种方式是自动化的,但有一些精细化的维度,以及后端的数据,无法用这种方式来实现。但如果想要及时地看到一些产品的宏观指标,又不想要工程师做太多的配合,这是一种很好的方式。
神策数据志在推动国内企业数据化的建设进程。因此,我们将探索和实践的成果全部贡献出来,供各位开发者学习,期待更多的人能够认识到数据的重要性,以及学会数据采集的具体方法。
桑文锋
神策数据创始人 & CEO