天天看点

埋点全解1:iOS 全埋点技术白皮书之全埋点是什么?

数据分析的流程一般为:数据采集 → 数据传输 → 数据建模 → 数据统计 / 分析 / 挖掘 → 数据可视化 / 反馈,因此, 数据采集是基本,是源头。

数据采集 SDK,一般需要包含两大基础功能:

• 通过埋点来采集数据

• 将采集的数据传输到指定的服务器端

不论是采集数据,还是传输数据,都会要求数据采集 SDK 要最大限度的保证数据的准确性、完整性和及时性 ,这就 要求数据采集 SDK 要处理很多细节方面的问题,比如: 用户标识、网络策略、缓存数据策略、同步数据策略、数 据准确性和数据安全性等。

目前,业界主流的埋点方式,主要有如下三种:

• 代码埋点

• 全埋点

• 可视化埋点

代码埋点,指应用程序集成埋点 SDK 后,在启动的时候 初始化埋点 SDK,然后在某个事件发生的时候调用埋点 SDK 提供的方法来触发事件。

代码埋点是“最原始”的埋点方式,同时也是“最万能” 的埋点方式,这是因为它具有一系列的优点:

• 可以精准控制埋点的位置

• 可以更方便、更灵活地自定义事件和属性

• 可以采集更丰富的与业务相关的数据

• 可以满足更精细化的分析需求

当然,代码埋点也有相应的缺点:

• 前期埋点成本相对较高

• 若分析需求或事件设计发生变化,则需要应用程序修改 埋点并发版

全埋点,也叫无埋点、无码埋点、无痕埋点、自动埋点等。 全埋点,是指无需应用程序开发工程师写代码或者只写少 量的代码,即可预先自动收集用户的所有或者绝大部分的 行为数据,然后再根据实际的业务分析需求从中筛选出所 需行为数据并进行分析。

全埋点目前可以采集的事件有:

• 应用程序启动事件($AppStart)

• 应用程序退出事件($AppEnd)

• 页面浏览事件($AppViewScreen)

• 控件点击事件($AppClick)

• 应用程序崩溃事件($AppCrashed)

全埋点有如下几个优点:

• 前期埋点成本相对较低

• 若分析需求或事件设计发生变化,无需应用程序修改埋点并发版

• 可以有效地解决“历史数据回溯”问题

同时,全埋点也有一些缺点:

  • 由于技术方面的原因,对于一些复杂的操作(比如缩放、 滚动等),很难做到全面覆盖
  • 无法自动采集和业务相关的数据
  • 无法满足更精细化的分析需求
  • 各种兼容性方面的问题(比如 Android 和 iOS 之间的兼容性,不同系统版本之间的兼容性,同一个系统版本不同 ROM 厂商之间的兼容性等)

可视化埋点,也叫圈选,是指通过可视化的方式进行埋点。

可视化埋点一般有两种应用场景:

  • 默认情况下,不进行任何埋点,然后通过可视化的方式指定给哪些控件进行埋点(指定埋点)
  • 默认情况下,全部进行埋点,然后通过可视化的方式指定哪些控件不进行埋点(排除埋点) 可视化埋点的优缺点,整体上与全埋点类似。

想了解更多,可免费下载《iOS全埋点技术白皮书》查看,本白皮书主要以全埋点为核心进行介绍,部分内容也适用于代码埋点。

《iOS 全埋点技术白皮书》