iOS 获取idfa,设备信息获取适配

iOS 获取idfa,设备信息获取适配

idfa:广告唯一标识,不同app对同一台设备的idfa是固定且一致的。(特殊情况下会重新生成,比如在系统设置里关闭后重新打开idfa允许)

iOS14之前和之后获取权限的方法不同,

iOS14.5之前,苹果默认用户允许app访问追踪权限,之后需要明确弹框进行权限申请。

iphone设置里面和idfa有关的两个地方:

1,系统-隐私-跟踪,这里若关闭“允许app请求跟踪“则所有app请求权限时都不会弹框,直接会回调用户没有开启权限。

2,系统-对应app-“允许跟踪”开关

iOS14系统之前获取idfa

1.先导入框架#import

2.获取广告标识

// 判断在设置-隐私里用户是否打开了广告跟踪

if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {

NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];

NSLog(@"%@",idfa);

} else {

NSLog(@"请在设置-隐私-广告中打开广告跟踪功能");

}

iOS14系统之后获取idfa

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

NSUserTrackingUsageDescription

此标识符将用于向您推荐个性化广告。

2.导入框架

#import

#import

3.获取广告标识

// 判断在设置-隐私里用户是否打开了广告跟踪

if (@available(iOS 14, *)) {

// iOS14及以上版本需要先请求权限

[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {

// 获取到权限后,依然使用老方法获取idfa

if (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(@"请在设置-隐私-广告中打开广告跟踪功能");

}

}

相关推荐

深层清洁与补水双重体验:珀莱雅水漾肌密柔滑洁面膏评测
DNF念帝最强攻略:技能加点及装备选择详解
beat365手机版中文

DNF念帝最强攻略:技能加点及装备选择详解

🌍 10-16 👁️ 9961
cf手游键位,提升战斗体验攻略
365bet官方

cf手游键位,提升战斗体验攻略

🌍 11-04 👁️ 7718