请输入
菜单

iOS14 适配指南

iOS14 适配指南

一、简介

iOS14后的系统,根据苹果政策要求,需要请求用户授权,访问与应用相关的数据以跟踪用户或设备。我们建议流量等待方法回调完成后处理广告相关逻辑,这样如果用户授权使用IDFA信息,SDK可以使用IDFA进行广告请求,获取更好的广告投放效果,如果用户拒绝此请求,应用获取到的 IDFA 将自动清零,可能会导致您的广告收入的降低。

访问苹果政策说明了解更多信息。

二、获取 App Tracking Transparency 授权(弹窗授权获取IDFA)

如果想在流量中显示 App Tracking Transparency 授权来获取IDFA,需要在Info.plist中添加NSUserTrackingUsageDescription,描述获取IDFA的用途。例如:

objectivec 复制代码
<key>NSUserTrackingUsageDescription</key> 
<string>您的允许将用于个性化广告投放</string>

该描述将用于授权IDFA的弹窗提示中,如下所示:
弹窗小字文案建议:

  • 获取标记权限向您提供更优质、安全的个性化服务及内容,未经同意我们不会用于其他目的;开启后,您也可以前往系统 “ 设置-隐私 ” 中随时关闭。
  • 获取IDFA标记权限向您提供更优质、安全的个性化服务及内容;开启后,您也可以前往系统 “ 设置-隐私 ” 中随时关闭。

展示授权弹窗需要调用 requestTrackingAuthorizationWithCompletionHandler: 方法。我们建议流量等待方法回调完成后处理广告相关逻辑,这样如果用户授权使用IDFA信息,AMPSAdSDK iOS SDK可以使用IDFA进行广告请求。代码如下:

objectivec 复制代码
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>

- (void)requestIDFA {
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            // 授权完成回调,block可能不在主线程,如果在此请求广告请先调用回到主线程
        }];
    }
}
  • 注:此方法在iOS15上需要放到 applicationDidBecomeActive内执行,否则可能会被其他权限询问覆盖
上一个
iOS文档中心
下一个
Appstore隐私数据获取说明
最近修改: 2025-06-10