SDK 模块
挂在第 1 步:1 接收
结论:转化只能靠自有 SDK 回来,因为没有第三方归因平台。
SDK 是装在 App 里的一个小记录器。它把事件攒满 50 条或等 15 秒发一次。用户同意隐私协议之前,它什么都不记。
flowchart TD
A["App 内 SDK"] --> V0{"用户同意了吗"}
V0 -- 否 --> X0["不记,不上报"]
V0 -- 是 --> V1{"App 密钥签名对吗"}
V1 -- 否 --> Q["隔离区"]
V1 -- 是 --> V2{"事件在字典里,是启用状态吗"}
V2 -- 否 --> Q
V2 -- 是 --> V3{"必带信息齐全,类型对吗"}
V3 -- 否 --> Q
V3 -- 是 --> B["清洗
同 6 步检查"] B --> D["下游
归因 报表 挖掘 导出"]
同 6 步检查"] B --> D["下游
归因 报表 挖掘 导出"]
| 步骤 | 做法 |
|---|---|
| 初始化 | App 启动时调用一次 |
| 自动事件 | 自动记“首次打开”和“打开”,可关闭 |
| 设备键 | 取这台手机的编号(OAID、IDFA、CAID,取第一个有值的),哈希后上报;不直接存原来的号码。规则同清洗 |
| 同意 | 用户点同意之前不上报 |
| 签名 | 每批请求带 App 密钥签名,防止别人冒充 |
| 上报 | 攒满 50 条或 15 秒发一次;断网时存本地最多 1000 条,联网补发;同一事件 ID 只算一次 |
给开发看:代码
DspSdk.init(context, appKey)
DspSdk.setConsent(true)
DspSdk.setUserId(md5(uid)) // 登录后
DspSdk.log("dsp_purchase", {num_items:1, content_type:"book",
content_id:"b88", currency:"CNY"}, 6.0) // 最后一个是金额
DspSdk.setDebug(true) // 联调时| 事件 | 什么时候记 | 必带信息 |
|---|---|---|
| 首次打开 | 装好后第一次打开 | — |
| 打开 | 每次打开 App | — |
| 注册 | 注册成功 | 注册方式 |
| 完成新手引导 | 引导走完 | 是否成功 |
| 升级 | 游戏升级 | 等级 |
| 加购 | 加入购物车 | 商品、币种、金额 |
| 付费 | 付款成功 | 商品、数量、币种、金额、订单号 |
| 订阅 | 订阅成功 | 订单号、币种、金额 |
| 看广告 | App 里展示了一次广告 | 广告类型 |
每个事件最多带 25 条信息;名字 2 到 40 个字符;每条信息的值不超过 100 个字符。
给开发看:和 Facebook 标准事件的对应
| 我们的事件名 | 参数 | |
|---|---|---|
| dsp_install | (首次 activate) | — |
| dsp_activate_app | fb_mobile_activate_app | — |
| dsp_complete_registration | fb_mobile_complete_registration | registration_method |
| dsp_tutorial_completion | fb_mobile_tutorial_completion | success、content_id |
| dsp_level_achieved | fb_mobile_level_achieved | level |
| dsp_add_to_cart | fb_mobile_add_to_cart | content_type、content_id、currency、valueToSum |
| dsp_purchase | fb_mobile_purchase | num_items、content_type、content_id、currency、valueToSum、order_id |
| dsp_subscribe | Subscribe | order_id、currency、valueToSum |
| dsp_ad_impression | AdImpression | ad_type |
结论:测试手机的事件 1 秒内出现在SDK 联调页,带校验结果;这些事件不进报表。
| 步骤 | 做法 |
|---|---|
| 1 登记 | 在联调页登记测试手机的设备键,或打开调试模式 |
| 2 走一遍 | 在 App 里打开、注册、付费 |
| 3 看结果 | 每条事件显示:收到时间、事件名、信息、校验结果(通过、缺信息、类型不对、没登记) |
| 4 验收 | 字典里每个“启用”的事件都至少收到 1 条且通过 |
参照:Facebook 事件管理工具的“测试事件”
| 项 | 规则 |
|---|---|
| 事件字典 | 每个事件和信息都登记在数据字典,有负责人和状态 |
| 校验 | 没登记、缺必带信息、类型不对的事件进隔离区,带原因 |
| 版本 | 字典每改一次加 1 个版本号;旧版本保留 90 天 |
| 状态 | 草稿、启用、已弃用;已弃用的照收但不进新报表 |
| 负责人 | 改字段要负责人确认 |
| 分发 | 归因和挖掘 1 分钟内拿到;报表 5 分钟内;导出次日 8 点 |