App Tracking Transparency

IDFA (Identifier for Advertisers)

  • iOS 14.5 이전에는 광고주가 IDFA (Identifier for Advertisers)를 사용하여 광고 성과 측정 및 맞춤형 광고를 할 수 있었습니다. 하지만 iOS 14.5+ 이상에서 ATT (App Tracking Transparency) 도입으로 인하여 개인 정보 보호가 강화됨에 따라, 사용자가 동의를 허용한 경우에만 IDFA (Identifier for Advertisers) 값을 가져올 수 있습니다.

광고 수익 증가를 위해서, iOS 14.5+에 대응하여 ATT(App Tracking Transparency) Framework 관련 처리가 필요합니다.

ATT (App Tracking Transparency) 사용

  • iOS 14.5+ 이상에서 IDFA 와 같은 식별자에 대한 액세스 및 사용에 대한 권한을 요청하려면 ATT (App Tracking Transparency) 동의 알림을 사용해야 합니다. 코딩을 통한 IDFA (Identifier for Advertisers) 접근 권한을 수동으로 획득 할 경우, 아래의 5가지 절차를 따라 주십시오.

애드몹 UMP (User Messaging Platform)를 활용하여 자동으로 ATT (App Tracking Transparency) 동의 알림을 처리하는 것이 권장됩니다.

Step 1. SDK 준비

신규 및 업데이트 앱의 경우 iOS SDK 버전 2.5.0 이상을 준비하시고, 유니티의 경우 Unity Package 버전 2.5.0 이상을 준비합니다.

Step 2. SKAdNetwork 구성

사용자의 ATT 동의 여부와 무관하게, 애플에서 공식으로 제공하는 광고 캠페인의 성공을 측정하기 위한 목적으로 SKAdNetwork 를 도입하였습니다. SKAdNetwork 를 사용하기 위해서는 iOS 앱 프로젝트에 있는 Info.plist 파일에 광고 식별자 목록 정보를 추가하여 주십시오.

광고 네트워크에 지원되는 식별자 목록은 이 안내 문서의 SKAdNetwork ID List 에서 확인할 수 있습니다.

(예제)

<key>SKAdNetworkItems</key>
    <array>
        <dict>
            <key>SKAdNetworkIdentifier</key>
            <string>example100.skadnetwork</string>
        </dict>
        <dict>
            <key>SKAdNetworkIdentifier</key>
            <string>example200.skadnetwork</string>
        </dict>
    </array>

Step 3. 권한 사용에 대한 설명 문구 추가

Info.plist 파일에 NSUserTrackingUsageDescription 키와 권한 사용에 대한 동의를 구하는 메시지를 추가합니다.

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

사용 설명 메시지는 ATT 팝업에 표시됩니다.

Step 4. 권한 요청

권한 승인 요청을 표시하려면 requestTrackingAuthorizationWithCompletionHandler: 를 호출합니다.

  • ATT는 앱이 완전히 실행되어 Active 상태일 때 호출해주셔야 정상적으로 팝업이 노출됩니다.

    • application:didFinishLaunchingWithOptions:에서 ATT를 호출하고 있었다면, iOS 15 부터는 동작하지 않습니다.

  • 사용자가 앱 추적 투명성 권한을 부여하면 광고 SDK에서 광고 요청에 IDFA를 사용할 수 있도록 완료 callback이 호출된 후, 광고를 요청합니다.

#import <AppTrackingTransparency/AppTrackingTransparency.h>

- (void)requestIDFA {
    if (@available(iOS 14.5, *)) {
        // ATT 알림을 통한 권한 요청
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        
        }];
    } 
}

Step 5. Facebook ATE Flag 처리

ATT opt-in 결과에 따라 Facebook ATE (AdvertiserTrackingEnabled) Flag가 처리되어야 합니다. FBAdSettingssetAdvertiserTrackingEnabled를 호출하여 결과에 따른 값을 설정합니다.

#import "AppDelegate.h"
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <FBAudienceNetwork/FBAdSettings.h>

@implementation AppDelegate

- (void)requestIDFA {
    if (@available(iOS 14.5, *)) {
        // ATT 알림을 통한 권한 요청
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            // 광고추적제한 설정 (페이스북 광고 ATE 설정)
            if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
                [FBAdSettings setAdvertiserTrackingEnabled:YES];
            } else {
                [FBAdSettings setAdvertiserTrackingEnabled:NO];
            }
        }];
    }
}

@end

Last updated

Was this helpful?