打开网易新闻 查看更多图片

大家好,一节课我们大概讲了 ASA 归因的整体流程,接下来我们会按照步骤讲解具体的流程。

打开网易新闻 查看更多图片

AdServices framework 是 Apple 专门为 ASA 提供的归因框架 。尤其在 ATT 政策推出以后,app 获取用户 IDFA 的比例大幅降低,传统的依靠 IDFA 的方法也无法准确归因。

但是 Apple 为 ASA 开了一个后门,其他广告渠道无法获取用户的 IDFA 作为身份标识符进行归因,而 ASA 可以获取一个甚至比 IDFA 更好的用户 token 进行归因——因为即便 ATT 之前,用户在 iPhone 的设置也会导致无法完全获取 IDFA,但是 ASA 的用户 token,只要接入 AdServices framework,就可以获取到。

另外要注意的是,除了 AdServices framework,ASA 还有一个 iAd framework。但是后者仅适用于 iOS 14.3 之前版本,且此框架已经停用,iOS 14.3 之前的用户占比也很小,所以不接入对归因也没有太大影响,所以这节课不会涉及 iAd framework。

官方文档

https://ads.apple.com/cn/help/reporting/0028-apple-ads-attribution-api

AdServices 接入目的

通过 AdServices framework,可以让我们对每一个激活用户获取一个 Token 标识符,用此 Token 可以得知该用户是否点击过 ASA 广告、点击过那个广告系列/广告组/关键词/素材等广告信息。

AdServices 接入步骤

  1. 选择项目主文件-TARGETS-General

  2. 引入 AdServices framework

  3. 进入 link binary with Libraries 将 AdServices 改为 optional

  4. 导入 AdServices framework

  5. 添加获取用户 Token 的代码

  6. 更新 App 并发布至 App Store

AdServices 接入流程

打开网易新闻 查看更多图片

AdServices 调用步骤

  1. 判断设备信息

    1. 用户是否首次激活

    2. 网络请求成功

    3. 系统版本 ≥ 14.3

  2. 获取用户的 Token

    1. 获得 Token 成功

      1. 注意:Token 的有效期为 24 小时,请在有效期内完成后续操作。

    2. 获得 Token 不成功

      1. 错误代码与原因(详见下表)

      2. 重试:建议重试时间间隔 ≥ 5 秒,初步设定的重试上限为 3 次,实际在时效性内重试次数无上限。

  3. 以此 Token 请求 Apple 的归因数据

    1. 策略:此请求过程既可以在 App 客户端完成,也可以先将 Token 发送至服务端,然后在服务端进行请求,Apple 更推荐后一种策略。

    2. 注意:Token 的有效期为 24 小时,请在获取 Token 的 24 小时内完成请求。

  4. 接收 Apple 返回的归因数据

    1. 响应代码 ( 详见下表 )

    2. 接收到的归因数据与释义(详见下表)

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片
打开网易新闻 查看更多图片

ATT 政策对获取归因数据的影响

  1. 受到 ATT 政策以及用户对追踪的设置,从 Apple 接收到的数据会分成两类

    1. Detailed payload,即详细数据,包含上表「接受到的归因数据与释义」中的所有数据

    2. Standard payload,即标准数据,与详细数据相比,只缺少 clickDate 这一数据,其他数据都可以正常收到

    3. 影响:可以认为即便受 ATT 影响,收到了 Standar payload,ASA 的归因也基本不受影响,如果缺失了 clickDate,大部分产品可以直接以用户的激活日期进行替代(预约期除外)

  2. 用户对追踪的设置包含 2 部分:iOS 系统级的追踪限制、每个 App 的追踪限制

    1. 只要用户对 App 的追踪状态为未知(not determined)、被拒绝(denied)或者限制(restriced),无论 iOS 系统级的追踪设置有无打开,都会拿到 Standard payload

    2. 只要用户对 App 的追踪状态为授权(authorized),无论 iOS 系统级的追踪设置有无打开,都会拿到 Detailed payload

  3. ATT 框架与弹窗对获取归因数据的影响

    1. 以下情况都会获得 Standard Payload

      1. App 不接 ATT 框架(但是会导致其他广告无法归因或者无法过审)

      2. App 不进行 ATT 弹窗

      3. App 先以 Token 请求归因数据,再进行 ATT 弹窗

      4. App 先进行 ATT 弹窗,但是弹窗被用户拒绝或者限制

    2. 以下情况会获得 Detailed Payload

      1. App 先进行 ATT 弹窗,被授权追踪,然后再以 Token 请求归因数据

Apple Ads 团队对 AdServices 的推荐配置

  1. 应在 App 首次激活时获取 Token

  2. 建议获取网络权限后,等待500ms - 1000ms 再做 Token请求

    1. 当获取 Token 发生 network error 时,也可以等待500ms - 1000ms 再做 Token请求

  3. 如 Token请求不成功,且 App 依然处于前台状态,进行 retry,在时效性允许的前提下重试次数无上限,重试时间间隔>=5秒,初步设定可以重试上限3次(24小时内 retry 多次获取的 Token 都是同一个,不会发生变化)

  4. 获取到 Token, 和请求 Attribution Response 中间设置 500 - 1000ms 等待时长

  5. 请求归因 api 到获取结果之间建议等待时长设置为>=2000ms

AdServices 调用流程图

打开网易新闻 查看更多图片

代码示例

1/调用 AdServices 获取用户 Token

打开网易新闻 查看更多图片

2/使用 Token 请求归因数据 - 在 App 请求

打开网易新闻 查看更多图片

3/使用 Token 请求归因数据 - 在服务器请求(推荐)

打开网易新闻 查看更多图片

以上就是《ASA 必修课》第 2 章/第 6 课「ASA 自归因:接入/调用 AdServices 以获取归因数据」的所有内容了,如果大家有任何问题,可以随时与我沟通。

感谢大家的关注与阅读!