iOS开发 ios14系统广告标识idfa获取适配

2020-10-29  本文已影响0人  不要虚度美好的时光

iOS开发 ios14系统广告标识idfa获取适配

来源:https://www.jianshu.com/p/be37f85f73a6

--------------------------------------------------

iOS 中的“限制广告跟踪”设置

选中此方框,即表示您确认,在使用广告标识符(按照《Apple Developer Program 许可协议》(“PLA”)中的定义)投放任何广告之前,您(以及与您签约以投放广告的任何第三方)将查看用户的广告偏好设置(按照 PLA 中的定义),并遵守用户在 iOS 中的设置(当用户启用该设置时)。

对于广告标识符 (IDFA) 的使用,请务必作出准确的回答。如果您的 App 包含 IDFA 而您选择了“不”,则此二进制文件将被永久拒绝,您必须提交另一个二进制文件。

---------------------------------------------------

iOS 获取隐私权限大全

来源:https://www.jianshu.com/p/5f05bc8395f1

iOS14系统已经可以开始下载了,但是有一些需要适配的地方,比如获取idfa的方式。这里我们来讨论一下如何在IOS14系统下获取idfa。

所需环境

1.xcode需要升级到最新版本12.0版本。

2.手机需要升级到最新版本14.0版本。

iOS14系统之前获取idfa

1.先导入框架#import <AdSupport/ASIdentifierManager.h>

2.获取广告标识

// 判断在设置-隐私里用户是否打开了广告跟踪if([[ASIdentifierManager sharedManager]isAdvertisingTrackingEnabled]){NSString*idfa=[[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];NSLog(@"%@",idfa);}else{NSLog(@"请在设置-隐私-广告中打开广告跟踪功能");}

iOS14及以上系统 获取广告标识idfa

苹果官方文档

iOS14以上系统,需要先请求跟踪权限,用户同意后才能获取到广告标识。

1.在info.plist文件里添加跟踪权限请求描述文字

注意:该权限只有xcode12及以上版本才有,现在大家只能去下载xcode12版本的来使用了。

image.png

2.导入框架

#import#import

3.获取idfa

if(@available(iOS14,*)){// iOS14及以上版本需要先请求权限[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status){// 获取到权限后,依然使用老方法获取idfaif(status==ATTrackingManagerAuthorizationStatusAuthorized){NSString*idfa=[[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];NSLog(@"%@",idfa);}else{NSLog(@"请在设置-隐私-跟踪中允许App请求跟踪");}}];}else{// iOS14以下版本依然使用老方法// 判断在设置-隐私里用户是否打开了广告跟踪if([[ASIdentifierManager sharedManager]isAdvertisingTrackingEnabled]){NSString*idfa=[[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];NSLog(@"%@",idfa);}else{NSLog(@"请在设置-隐私-广告中打开广告跟踪功能");}}

iOS14广告权限的位置已经变动到 设置->隐私->跟踪 里了。而且每个应用都会有自己单独的权限控制开关。在第一次请求权限的地方,还会弹出权限请求弹窗,供用户选择。

image.png

image.png

image.png

上一篇下一篇

猜你喜欢

热点阅读