本文对移动分析中涉及到的各种类型的日志埋点进行介绍。
信息收集说明
移动分析功能依赖于客户端上报的埋点日志。为了提供更为精准、丰富的分析能力,埋点日志会收集用户如下设备相关的信息:公网 IP、IMEI、IMSI、设备型号、系统版本、网络类型(如 Wi-Fi、3G 或 4G)、操作系统语言、CPU 核数、CPU 转速、内存大小、屏幕分辨率、客户端渠道号、客户端版本号等。
埋点日志模型
不同类型的日志,其格式各不相同。日志是一个由逗号分隔的字符串,字符串的不同位置代表不同的含义,服务器根据位置信息来切分日志。
常见的埋点类型如下:
Android 和 iOS 埋点
自定义事件埋点:记录按钮、链接点击等操作,可在 App 内任意动作触发时机埋入,用于自定义事件分析和漏斗分析等功能。
报活埋点:记录 App 的启动操作,包括客户端冷启动或压后台后 App 界面回到前台。用于统计启动次数、新增用户、活跃用户、活跃账号等核心指标。
Android 端默认 App 压后台超过 30 分钟后回到前台记一次报活。
iOS 端默认 App 每次从后台回到前台记一次报活。如需修改为 30 分钟上报一次,请设置
[[DTFrameworkInterface sharedInstance] logReportActiveMinInterval];
的返回值为 1800。
页面自动埋点:自动记录页面的打开、来源、停留时长等信息。用于分析页面 PV、UV、来源去向等指标。
压后台埋点:记录 App 前后台切换相关信息。用于分析用户使用应用的时长、活跃时间等指标。
启动速度埋点:记录 App 的启动速度,区分首次启动(首次安装后,第一次启动 App)和非首次启动(非首次安装 App 后,启动App)。
卡死埋点:记录 App 卡死及相关错误日志。包括以下情况:
Android 启动卡死:App 启动后 30 秒内未能离开欢迎页和进入首页。
Android ANR 卡死:即系统 ANR 卡死,定义详见 Android 官网 ANR。
iOS 启动卡死:App 启动时主线程 5 秒 未执行完一个方法。
iOS ANR 卡死:App 运行时主线程 5 秒 未执行完一个方法。
卡顿埋点:卡顿是指主线程超过一定时间(Android 2.25 秒,iOS 2 秒)未执行完一个方法。卡顿埋点记录 App 卡顿及相关错误日志。
闪退埋点:记录 App 闪退及错误堆栈。
H5 和 PC 埋点