跳到主要内容

iOS 平台广告标识符 (IDFA) 授权弹窗

概览

在 iOS 平台 14.0 及之后版本,苹果为了提高用户的隐私透明度,设备的广告标识符 (IDFA) 需要弹窗并经过用户的同意才能获取。

业务可以通过 AppTrackingTransparency 框架打开弹窗,获取 IDFA。如果没有接入 AppTrackingTransparency 框架,将会有提审风险。详情请参见 User Privacy and Data Use

ATT 权限

注意

ATT 弹窗政策是从 iOS 14.0 开始的。iOS 14.0-iOS 14.4,即使用户未通过弹窗授权,app 依然可以获取到用户的 IDFA。

添加弹窗授权

如果业务方需要进行授权采集,可调用下文中的接口。此接口实现了获取广告标识符 (IDFA) 的弹窗授权:

static void RequestTrackingAuthorization();
  • 此接口只针对 iOS 平台,使用 Xcode12 以上版本编译,且运行在 14.0 及之后的 iOS 设备生效。
  • 需要在业务侧添加引用 iOS 库:AppTrackingTransparency.framework。并且,在工程的 Info.plist 文件中,添加 NSUserTrackingUsageDescription 配置及描述文案,用于授权弹窗提示语的展示。更多信息,请参见 UnityUnreal Engine SDK 的 iOS 使用说明。
  • 此接口是一次性请求,系统会记住用户的选择,并且不会再次提示,除非用户卸载并在设备上重新安装此应用程序。
注意

默认采集 iOS 平台的 IDFA。如果业务方需要关闭采集,可在 APASConfig.ini 配置文件中修改为以下配置:

DEVICE_INFO_SWITCHES={"ios_idfa":false}
  • "ios_idfa":false:关闭 iOS IDFA 采集

如需开启某个 ID 的采集,修改对应配置为 true 即可。

接入 AppTrackingTransparency 框架

业务侧也可以自行接入 AppTrackingTransparency 框架,来进行弹窗授权。

根据 Apple App Tracking Transparency 说明的描述,接入 ATT 框架共分为3步:

  1. info.plist 设置请求权限的文案
  2. 客户端弹窗对玩家请求权限
  3. 根据玩家的授权情况判断是否调用接口获取 IDFA

ATT 步骤