数据规范
设备
设备 ID (device_id)
SDK 在初始化时,将为该终端生成唯一的 ID,我们称之为设备 ID。
生成规则
SDK 类型 | 生成规则 |
---|---|
Android | 依次尝试获取本地存储保存过的设备 ID、Android ID,如果都无法获取到正确结果则随机生成 UUID,最后获取或生成的设备 ID 会保存于本地存储 |
iOS | 尝试获取本地钥匙串保存过的设备 ID,获取失败则随机生成 UUID,最后获取或生成的设备 ID 会保存于本地 |
设备属性
设备属性表示设备的不变的属性以及最新状态。可以按照设备的某个属性或特征与事件进行关联,来分析这些用户的行为。
常见问题
设备 ID 会发生变化么?
Android:在能获取到 Android ID 的情况下,设备 ID 是比较稳定的(参考 Google 唯一标识符最佳做法)。如果无法获取到 Android ID,设备 ID 将有随着重装应用或重置 Google 广告 ID 而改变的可能。
iOS:获取或生成好的设备 ID 保存于设备的钥匙串 中,可以保证在不重置系统的情况下,保持设备 ID 的稳定。
账号
账号 ID (user_id)
通常情况下是你的注册用户 ID,当用户在你的系统中发生注册或登录行为后,你可以将该用户在你的系统中的唯一 ID 直接或加密后设置到 SDK 中,这个 ID 会被作为今后用户在各个平台使用你的产品的身份识别 ID。
账号属性
账号属性表示账号的不变的属性以及最新状态。可以按照账号的某个属性或特征与事件进行关联,来分析这些用户的行为。
事件
预置事件
事件名 | 名称 | 说明 |
---|---|---|
device_login | App 启动 | 调用 SDK 初始化接口时会上报此事件,首次上报一个设备 ID 时将在设备表产生一条记录 |
user_login | 账号登录 | 调用 SDK SetUser 接口时会上报此事件,首次上报一个账号 ID 时将在账号表产生一条记录 |
play_game | 游玩时长 | SDK 会以应用进入前台作为计时起点,置于后台时,上报此时间段的时长 |
charge | 用户付费 | 调用 SDK Charge 接口时会上报此事件,通常情况下建议使用服务端 REST API 进行上报 |
衍生事件
在上报预置事件时,TapDB 也会同时记录一些特殊事件,这类特殊的事件我们称之为衍生事件。衍生事件无法通过 API 直接上报,只会由预置事件上报后触发。
事件名 | 名称 | 说明 |
---|---|---|
dau_device | App 当日首次次启动 | App 在每日首次上报 device_login 时触发,可用于快速查询设备 DAU |
dvau_device | App 当日首次启动(按版本) | App 的不同版本在每日首次上报 device_login 时触发,可用于快速查询分版本的设备 DAU |
wau_device | App 当周首次启动 | App 在每周首次上报 device_login 时触发,可用于快速查询设备 WAU |
mau_device | App 当月首次启动 | App 在每月首次上报 device_login 时触发,可用于快速查询设备 MAU |
dau_user | 账号当日首次登录 | 账号每日首次上报 user_login 时触发,可用于快速查询账号 DAU |
wau_user | 账号当周首次登录 | 账号每周首次上报 user_login 时触发,可用于快速查询账号 WAU |
mau_user | 账号当月首次登录 | 账号每月首次上报 user_login 时触发,可用于快速查询账号 MAU |