iOS 獲取idfa,設(shè)備信息獲取適配

idfa:廣告唯一標(biāo)識(shí),不同app對(duì)同一臺(tái)設(shè)備的idfa是固定且一致的。(特殊情況下會(huì)重新生成,比如在系統(tǒng)設(shè)置里關(guān)閉后重新打開(kāi)idfa允許)

iOS14之前和之后獲取權(quán)限的方法不同,

iOS14.5之前,蘋(píng)果默認(rèn)用戶(hù)允許app訪(fǎng)問(wèn)追蹤權(quán)限,之后需要明確彈框進(jìn)行權(quán)限申請(qǐng)。

iphone設(shè)置里面和idfa有關(guān)的兩個(gè)地方:
1,系統(tǒng)-隱私-跟蹤,這里若關(guān)閉“允許app請(qǐng)求跟蹤“則所有app請(qǐng)求權(quán)限時(shí)都不會(huì)彈框,直接會(huì)回調(diào)用戶(hù)沒(méi)有開(kāi)啟權(quán)限。
2,系統(tǒng)-對(duì)應(yīng)app-“允許跟蹤”開(kāi)關(guān)

iOS14系統(tǒng)之前獲取idfa

1.先導(dǎo)入框架#import <AdSupport/ASIdentifierManager.h>

2.獲取廣告標(biāo)識(shí)

// 判斷在設(shè)置-隱私里用戶(hù)是否打開(kāi)了廣告跟蹤
        if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
            NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
            NSLog(@"%@",idfa);
        } else {
            NSLog(@"請(qǐng)?jiān)谠O(shè)置-隱私-廣告中打開(kāi)廣告跟蹤功能");
        }

iOS14系統(tǒng)之后獲取idfa

1.info.plist文件添加跟蹤權(quán)限請(qǐng)求描述文字

<key>NSUserTrackingUsageDescription</key>
<string>此標(biāo)識(shí)符將用于向您推薦個(gè)性化廣告。</string>

2.導(dǎo)入框架

#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/ASIdentifierManager.h>

3.獲取廣告標(biāo)識(shí)

// 判斷在設(shè)置-隱私里用戶(hù)是否打開(kāi)了廣告跟蹤
     
if (@available(iOS 14, *)) {
        // iOS14及以上版本需要先請(qǐng)求權(quán)限
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            // 獲取到權(quán)限后,依然使用老方法獲取idfa
            if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
                NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
                NSLog(@"%@",idfa);
            } else {
                     NSLog(@"請(qǐng)?jiān)谠O(shè)置-隱私-跟蹤中允許App請(qǐng)求跟蹤");
            }
        }];
    } else {
        // iOS14以下版本依然使用老方法
        // 判斷在設(shè)置-隱私里用戶(hù)是否打開(kāi)了廣告跟蹤
        if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
            NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
            NSLog(@"%@",idfa);
        } else {
            NSLog(@"請(qǐng)?jiān)谠O(shè)置-隱私-廣告中打開(kāi)廣告跟蹤功能");
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容