跨 iOS 14.5+ 的跟踪
iOS 14.5 的变更
从 iOS 14.5 开始,默认情况下,应用程序和广告网络无法访问 IDFA —— 这是一个设备 ID,它帮助识别跨应用程序的同一用户。
有两种方式请求用户提供IDFA访问权限:
- 在应用启动时显示选择窗口,但只显示一次。
- 建议前往系统设置。
如果用户拒绝,就无法识别设备。
之前,设备所有者也可以通过同样的系统设置禁止应用程序获取IDFA,但仅有少数用户这样做。 现在没有IDFA的用户占比将会显著增长。
除了此限制,苹果的新规则还禁止以其他方式(包括启发式方法)识别设备:公司不允许使用设备指纹或概率匹配。
IDFA 缺失会产生什么影响?
- 行为定向
- 在一些广告网络中,按观众行为特征进行定向的能力将会下降。 应用程序将不再识别用户并向他们显示相关广告,因此广告效果会下降。
- 广告投放优化
- 广告合作伴无法实时调整设置,以向转化率更高的用户展示广告。 没有 IDFA,就无法从整体用户群中筛选出转换率更高的用户。
- 应用安装归因
- iOS 设备(无 IDFA)的安装归属以及后续目标操作在移动测量合作伙伴中将不再生效。 如果用户不允许访问IDFA,移动测量伙伴将无法跟踪特定的流量来源,因此默认设置会归为有机安装。
- 统计完整性
- 苹果的统计数据会被聚合,不会与其他指标在报告中合并,因此比较站点效率会更困难。 也无法准确评估通过不同广告网络引入的用户的LTV。
SKAdNetwork
Apple 提供了自己的归因方案:SKAdNetwork。 即使那些没有给予跟踪权限的用户也能使用。 这是唯一能计算完整且准确统计数据的方法。
为了这一目的,广告网络必须将广告位数据发送给 Apple,开发者和出版商必须从其应用中发送转换数据。 发送通过 Apple 框架 SKAdNetwork 进行,双方必须支持该框架。 Apple 会通过它返回统计数据,但形式不通常:平台不会生成报告。 相反,广告网络将从 Apple 收到聚合的点击和安装数据。 他们可以将这些数据收集到单独的报告中,并向广告主发布。
在新模型中,追踪器默认不会从 SKAdNetwork 接收数据。 然而,广告网络可以传递从 Apple 收到的数据给移动测量合作伴,以便广告商能够在单一界面中评估不同渠道的效率。

在 AppMetrica 中统计数据是什么样的?
要分析来自 iOS 14.5+ 的安装来源,有一个单独的报告,其中包含通过 SKAdNetwork 从广告网络收集的聚合数据:
用户获取报告显示来自 SKAdNetwork 的应用安装来源统计数据。 分段和事件指标根据AppMetrica数据计算,报告中不可用。

Apple 搜索广告
iOS 14.5 的发布不会影响苹果自有应用推广平台 Apple Search Ads 的功能,该平台的归属机制工作方式不同。 AdServices 是苹果公司另一个新的框架,可以对特定设备进行归因,但不会向开发者披露设备的 IDFA。 这样可以保留跟踪的常规优势(如准确统计用户在应用中的转换和操作),同时还能为您提供分段用户和探索他们在应用中行为的能力。
备注
Apple Search Ads 不能通过 SKAdNetwork 工作。
您可以在此页面阅读有关 Apple Search Ads 广告追踪的内容。
通过App Tracking Transparency请求IDFA访问权限
在使用 iOS 14 时,请使用新的 App Tracking Transparency 框架。 使用它在你的应用程序中显示系统对话框。 在窗口中,用户将选择允许或拒绝IDFA访问权限。
备注
系统对话框每次应用程序安装后只能显示一次。 如果用户选择请求不跟踪应用,就无法再为此应用显示此窗口。
-
系统对话框不能修改,但可以添加说明文字。 要做到这一点,请将
NSUserTrackingUsageDescription键添加到Info.plist. 例如:<key>NSUserTrackingUsageDescription</key> <string>This identifier will be used to deliver personalized ads to you.</string>来自
Info.plist的文本将在系统对话框中显示给用户。 在此文本中,向用户解释 App 请求使用 IDFA 的权限的原因。 -
要显示请求 IDFA 访问权限的对话框,请调用 requestTrackingAuthorization(completionHandler:) 方法。
系统对话框示例

-
在加载广告前等待回调。 然后 Yandex Mobile Ads SDK 就能在广告请求中使用 IDFA。
#import <AppTrackingTransparency/AppTrackingTransparency.h> ... - (void)requestTrackingAuthorization { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { // Start ad loading }]; } -
要检查App Tracking Transparency的授权状态,请使用trackingAuthorizationStatus属性。
要了解有关 App Tracking Transparency 的更多信息,请参阅 Apple 文档。
了解更多 有关 iOS 15 应用的跟踪。
如果您没有找到所需答案,可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能,请附上截图。