Just My Life & My Work

[iOS] iOS 14 IDFA

IDFA 全稱為Identity for Advertisers,即廣告標識符。用來標記用戶,目前最廣泛的用途是用於投放廣告、個性化推薦等。

關於IDFA在iOS的重要性,可以見我先前文章:IDFA、IDFV、UUID

在iOS13及以前,系統會預設為用戶開啟允許追踪設置,我們可以簡單的透過程式碼來獲取到用戶的IDFA標識符。

iOS14之後,系統會預設為用戶關閉廣告追踪權限。

對於這種情況,我們需要去請求用戶權限。首先需要在Info.plist中配置" NSUserTrackingUsageDescription “及描述文案,接著使用AppTrackingTransparency框架中的ATTrackingManager中的requestTrackingAuthorizationWithCompletionHandler請求用戶權限,在用戶授權後再去訪問IDFA才能夠獲取到正確資訊。

/**
 Theme: iOS 14 IDFA
 IDE: Xcode 12
 Language: Objective C
 Date: 109/10/22
 Author: HappyMan
 Blog: https://cg2010studio.com/
 */

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

- (void)testIDFA {
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
                NSString *idfaString = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
                
                NSLog(@"idfaString: %@", idfaString);
            }
        }];
    } else {
        // 使用原方式存取 IDFA
    }
}

編譯執行後~

idfaString: 40718478-2523-49FF-B708-F3AFD13E3684X

參考:iOS14 適配及部分解決方案

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: