数据分析的流程一般为:数据采集 → 数据传输 → 数据建模 → 数据统计 / 分析 / 挖掘 → 数据可视化 / 反馈,因此, 数据采集是基本,是源头。
数据采集 SDK,一般需要包含两大基础功能:
• 通过埋点来采集数据
• 将采集的数据传输到指定的服务器端
不论是采集数据,还是传输数据,都会要求数据采集 SDK 要最大限度的保证数据的准确性、完整性和及时性 ,这就 要求数据采集 SDK 要处理很多细节方面的问题,比如: 用户标识、网络策略、缓存数据策略、同步数据策略、数 据准确性和数据安全性等。
目前,业界主流的埋点方式,主要有如下三种:
• 代码埋点
• 全埋点
• 可视化埋点
代码埋点,指应用程序集成埋点 SDK 后,在启动的时候 初始化埋点 SDK,然后在某个事件发生的时候调用埋点 SDK 提供的方法来触发事件。
代码埋点是“最原始”的埋点方式,同时也是“最万能” 的埋点方式,这是因为它具有一系列的优点:
• 可以精准控制埋点的位置
• 可以更方便、更灵活地自定义事件和属性
• 可以采集更丰富的与业务相关的数据
• 可以满足更精细化的分析需求
当然,代码埋点也有相应的缺点:
• 前期埋点成本相对较高
• 若分析需求或事件设计发生变化,则需要应用程序修改 埋点并发版
全埋点,也叫无埋点、无码埋点、无痕埋点、自动埋点等。 全埋点,是指无需应用程序开发工程师写代码或者只写少 量的代码,即可预先自动收集用户的所有或者绝大部分的 行为数据,然后再根据实际的业务分析需求从中筛选出所 需行为数据并进行分析。
全埋点目前可以采集的事件有:
• 应用程序启动事件($AppStart)
• 应用程序退出事件($AppEnd)
• 页面浏览事件($AppViewScreen)
• 控件点击事件($AppClick)
• 应用程序崩溃事件($AppCrashed)
全埋点有如下几个优点:
• 前期埋点成本相对较低
• 若分析需求或事件设计发生变化,无需应用程序修改埋点并发版
• 可以有效地解决“历史数据回溯”问题
同时,全埋点也有一些缺点:
- 由于技术方面的原因,对于一些复杂的操作(比如缩放、 滚动等),很难做到全面覆盖
- 无法自动采集和业务相关的数据
- 无法满足更精细化的分析需求
- 各种兼容性方面的问题(比如 Android 和 iOS 之间的兼容性,不同系统版本之间的兼容性,同一个系统版本不同 ROM 厂商之间的兼容性等)
可视化埋点,也叫圈选,是指通过可视化的方式进行埋点。
可视化埋点一般有两种应用场景:
- 默认情况下,不进行任何埋点,然后通过可视化的方式指定给哪些控件进行埋点(指定埋点)
- 默认情况下,全部进行埋点,然后通过可视化的方式指定哪些控件不进行埋点(排除埋点) 可视化埋点的优缺点,整体上与全埋点类似。
想了解更多,可免费下载《iOS全埋点技术白皮书》查看,本白皮书主要以全埋点为核心进行介绍,部分内容也适用于代码埋点。
《iOS 全埋点技术白皮书》