美文网首页iOS开发知识点iOS开发权限问题
iOS 14 关于IDFA 权限的申请及其变化

iOS 14 关于IDFA 权限的申请及其变化

作者: 随缘吖 | 来源:发表于2020-07-03 12:28 被阅读0次

2020年09月03日

目前苹果已发出通知,关于idfa权限问题将会在明年才开始实行

在 Apple,我们认为隐私是一项基本人权。正如在 WWDC20 上所宣布的,App Store 产品页面将包含一个新的隐私信息部分,帮助用户了解 app 的隐私保护做法。今天我们将为开发者发布更多详情,列明新的隐私部分所涵盖的内容。此功能将在年底之前向用户推出。而在下个月底前,您将能够通过 App Store Connect 提交相关信息,为其做好准备。

此外,在 iOS 14、iPadOS 14 和 Apple tvOS 14 上,您需要征得用户的许可,才能在其他公司所拥有的 app 和网站上跟踪用户,或访问其设备的广告标识符。我们致力于确保用户拥有是否接受 app 跟踪的选择权。为让开发者有时间进行必要的更改,app 需要获得跟踪用户许可的要求将从明年年初开始实行。更多相关信息,包括 App Store 审核指南的更新,将在今年秋天发布。


2020年08月17日

测试发现,如果将APP追踪的总开关关闭的话,新安装的APP就算是调用申请idfa权限的方法,系统权限弹窗也不会弹出


截屏2020-09-06 17.05.01.png

idfa是App推广过程中识别用户的重要标识数据!在iOS 14 之后,关于idfa的获取发生了变化,将会对APP的推广产生较大的影响

今天我们从代码层次来进行探讨 关于idfa的变动
在iOS14 之前我们都是这样获取的

引入头文件
#import <AdSupport/AdSupport.h>
代码实现
  if ([ASIdentifierManager.sharedManager isAdvertisingTrackingEnabled]) {
        NSString * idfa = [ASIdentifierManager.sharedManager advertisingIdentifier].UUIDString;
  }else {
        NSLog(@"用户开启了限制广告追踪");
  }

但是在iOS14中,获取我们还是通过同样的方法进行获取,但是我们需要先进行权限的申请(和使用定位相机一样),如果不申请权限,获取到的idfa 将会是 0000-0.......000

  • 在info.plist 中添加 权限申请描述
<key>NSUserTrackingUsageDescription</key>
<string>请根据您业务需求进行填写</string>

    • 可参考某宝
  • 进行权限判断,根据不同权限进行判断
if (@available(iOS 14, *)) {
        ATTrackingManagerAuthorizationStatus status = ATTrackingManager.trackingAuthorizationStatus;
        switch (status) {
            case ATTrackingManagerAuthorizationStatusDenied:
                NSLog(@"用户拒绝");
                break;
            case ATTrackingManagerAuthorizationStatusAuthorized:
                NSLog(@"用户允许");
                break;
            case ATTrackingManagerAuthorizationStatusNotDetermined:
                NSLog(@"用户为做选择或未弹窗");
                break;
            default:
                break;
        }
    } else {
        // Fallback on earlier versions
       if ([ASIdentifierManager.sharedManager isAdvertisingTrackingEnabled]) {
       }else {
          NSLog(@"用户开启了限制广告追踪");
       }
    }
   
  • 申请权限
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            NSLog(@"app追踪权限:%lu",(unsigned long)status);
        }];
     } else {
        // Fallback on earlier versions
     }
  • 获取idfa
NSString * idfa = [ASIdentifierManager.sharedManager advertisingIdentifier].UUIDString;

附件:


iOS 14 类文件 权限的开关

相关文章

  • iOS 14 关于IDFA 权限的申请及其变化

    目前苹果已发出通知,关于idfa权限问题将会在明年才开始实行 在 Apple,我们认为隐私是一项基本人权。正如在 ...

  • iOS 14 IDFA 权限变化

    idfa是App推广过程中识别用户的重要标识数据!在iOS 14 之后,关于idfa的获取发生了变化,将会对APP...

  • iOS 14 IDFA请求权限申请

    前言 由于iOS 14的到来带来了一波更新。idfa需要预先申请权限后才能访问。 1. info.plist中添加...

  • ios14 适配

    1. IDFA隐私加强 IDFA默认关闭,需要向用户申请获取权限,需要在info.plist中明示用户申请权限: ...

  • IOS 14适配

    1. IDFA隐私加强 IDFA默认关闭,需要向用户申请获取权限,需要在info.plist中明示用户申请权限:k...

  • iOS 14 关于IDFA 权限的思考

    IDFA 权限适配基本上就这段代码,需要请求权限: 但是我测试发现了几点:1. 系统的允许APP请求追踪的总开关默...

  • 2021-03-30

    iOS14以后新增了广告标识【IDFA】的权限,获取方法有所改变,具体如下: 1>.获取:if (@availab...

  • iOS14 IDFA过审记录

    iOS 14.5更新之后,开发者要收集用户的idfa必须要弹框申请权限,不然拿到的就是00000000-0000-...

  • iOS开发机审因权限被拒

    1.iOS14 最新会因IDFA被拒2.iOS引用第三方库 因第三方库导致的访问权限被拒如 1.相册 相机权限 ...

  • iOS 开发 申请组播广播权限

    iOS 14 以后,使用组播广播功能 需要 申请权限 。 1、申请地址:https://developer.app...

网友评论

    本文标题:iOS 14 关于IDFA 权限的申请及其变化

    本文链接:https://www.haomeiwen.com/subject/kvqsqktx.html