Android埋点技术分析

一、概念

1. 什么是埋点

埋点是数据采集的一种方法,将每个需要统计的点击事件、页面上装摄像头,采集相应的信息和行为。

通过埋点、可以收集用户行为数据,进而用于分析和优化产品体验,也可以为产品的运营提供数据支撑,通常可以采集到以下类型数据:

  1. 行为数据:时间、地点、人物、交互的内容等
  2. 质量数据:App运行情况、浏览器加载情况、错误异常等
  3. 环境数据:手机型号、操作系统版本、浏览器UA(User Agent)、地理、运营商、网络环境等
  4. 运营数据:PV(Page View)、UV(Unique Visitor)、点击量、日活、留存、渠道来源等

2. 埋点事件分类

  1. 点击事件

    点击事件,用户点击按钮即算点击事件,不管点击后有无结果,点击一次记一次

  2. 曝光事件

    成功打开一次页面记一次,刷新页面一次记一次,加载下一页新页,加载一次记一次

  3. 页面停留时间事件

    表示一个用户在某个页面的停留时长记为停留时长

3. 移动端的埋点需求表

字段 释义
event_id 埋点ID
event_key 埋点名
status 埋点状态
state 埋点所在页面
desc 埋点描述
event_value 事件属性
value_comments 事件属性描述
opportunity 埋点发送时机
remark 备注
event_table 埋点发送日志
req_release 需求提出版本
achieve_release 需求实现版本
priority 需求优先级
update_time 需求更新事件

二、埋点的技术方案

1. 代码埋点

代码埋点是指在某个事件发生时调用数据发送接口上报数据。基于预先编码实现的代码埋点,其优点是:控制精准、采集灵活性强,可以自由的选择什么时候发送什么样的数据;缺点:开发、测试成本高,对于客户端而言需要等待发版才能修改线上的埋点。

2. 无痕埋点

无痕埋点也可称为无埋点或者全埋点,它指的是将App内产生的所有的、满足某个条件的行为,全部上报到后台服务器,在计算时筛选出可用的数据。其优点是很大程度上减少开发、测试的重复劳动,数据可以回溯并且全面。缺点:采集信息不够灵活,并且数据量大,里面可能很多是没有价值的数据。

3. 可视化埋点

可视化埋点是指通过可视化工具选择需要收集的埋点数据,下发配置给客户端,从而解析配置采集相应的埋点的方式。其优点是在于很大程度上减少开发、测试的重复劳动,数据量可控,可以在线上动态的进行埋点配置,无需等待App发版;缺点:采集信息不够灵活,并且无法解决数据回溯的问题。