美文网首页Swift开发
iOS 14及以上获取启动IDFA

iOS 14及以上获取启动IDFA

作者: Ray0218 | 来源:发表于2021-06-22 15:16 被阅读0次

    ios14之前

    1.先导入框架

    #import <AdSupport/ASIdentifierManager.h>
    
    

    2.获取广告标识

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

    IOS14及以上获取IDFA

    1. 在info.plist文件里添加跟踪权限请求描述文字
      注意:该权限只有xcode12及以上版本才有,必须去下载xcode12版本的才可以使用。


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

    相关文章

      网友评论

        本文标题:iOS 14及以上获取启动IDFA

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