iOS 平台广告标识符 (IDFA) 授权弹窗
概览
在 iOS 平台 14.0 及之后版本,苹果为了提高用户的隐私透明度,设备的广告标识符 (IDFA) 需要弹窗并经过用户的同意才能获取。
业务可以通过 AppTrackingTransparency 框架打开弹窗,获取 IDFA。如果没有接入 AppTrackingTransparency 框架,将会有提审风险。详情请参见 User Privacy and Data Use。
注意
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
配置及描述文案,用于授权弹窗提示语的展示。更多信息,请参见 Unity 或 Unreal 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步:
info.plist
设置请求权限的文案- 客户端弹窗对玩家请求权限
- 根据玩家的授权情况判断是否调用接口获取 IDFA