이용약관 및 개인정보 처리방침 플로우

이 페이지에서는 MAX Terms & Privacy Policy Flow를 사용하여 이용약관 및 개인정보 처리방침에 대한 동의를 유도하는 방법을 설명합니다.

MAX SDK에 포함된 CMP flow를 사용하거나 자체 CMP flow를 연동할 수 있습니다. 자체 CMP flow를 연동하는 경우, 해당 flow가 완료된 후에 MAX SDK를 초기화해야 합니다.

iOS 17.4의 버그로 인해 App Tracking Transparency (ATT) 프롬프트가 사용자가 ATT를 거부한 것으로 조기에 표시될 수 있습니다. 이로 인해 사용자가 ATT에 동의할 수 있는 경우에도 AppLovin SDK가 LAT로 구성된 ad network로 Ad Units를 초기화하게 됩니다. AppLovin의 Unified Consent Flow를 사용하는 경우, 이 문제를 완화하기 위해 최신 iOS SDK(12.3.0 이상)로 업데이트하십시오.

AppLovin MAX SDK는 Google UMP와 함께 사용할 때 TCF v2를 준수합니다. MAX SDK는 동의 문자열 및 AC 문자열을 수신하여 TCF v2 consent에 설명된 대로 미디에이션된 네트워크에 TCF v2 동의 문자열/상태를 전달할 수 있습니다.

AppLovin의 자동화된 flow 등을 통해 Google UMP를 CMP로 사용하지 않는 경우, 선택한 CMP가 연동하는 모든 미디에이션된 네트워크를 지원하는지 확인해야 합니다.

CMP를 사용하지 않는 경우, Consent and other applicable flags in GDPR and other regions에 설명된 대로 AppLovin SDK의 바이너리 동의 플래그를 계속 설정해야 합니다.

MAX를 통해 Google 디맨드에 액세스하는 경우, 연동 프로세스를 시작하기 전에 Google CMP 요구 사항을 검토하는 것이 매우 중요합니다.

Google UMP 자동화

AppLovin MAX SDK는 Google UMP 연동을 자동화합니다. Google UMP를 수동으로 연동할 필요가 없습니다. 이는 옵트인 방식이며, AppLovin은 이 Google UMP 연동을 활성화하는 방법에 대한 지침을 제공합니다. 아래는 flow의 시각적 표현입니다.

Initialize MAX SDK. In GDPR region? Google UMP Flow. MAX Terms / Privacy Policy Flow. MAX ATT Prompt (iOS only). SDK Initialization Completion callback

  1. MAX SDK가 초기화됩니다.
  2. 지역 규정 준수 확인: AppLovin은 사용자가 GDPR 지역에 있는지 확인합니다. 해당하는 경우 MAX SDK가 Google UMP를 표시합니다.
  3. (iOS 전용) Google UMP가 ATT 프롬프트를 표시하도록 구성되지 않았거나 사용자가 Google UMP flow를 보지 못한 경우, MAX SDK는 MAX ATT 프롬프트를 표시합니다.
  4. MAX SDK는 초기화 완료 콜백을 호출하여 광고 로드를 시작할 수 있음을 알립니다.

다음 중 하나의 상황에서는 TCF 동의 상태가 false일 수 있습니다.

  1. 사용자가 메시지에 지정된 데이터 수집 약관에 동의하지 않는다고 표시했습니다.
  2. 애플리케이션에 연동한 일부 ad network가 UMP에 구성되어 있지 않아 UMP가 항상 동의를 거부합니다. 이를 해결하는 방법을 알아보려면 “누락된 네트워크 확인”을 참조하십시오.

Google UMP 활성화

AdMob 대시보드에서 Google CMP 활성화

MAX consent flow에서 Google GDPR 양식을 표시하려면 먼저 AdMob 대시보드에서 Google GDPR 메시지를 생성하고 게시해야 합니다. 방법은 다음과 같습니다.

  1. apps.admob.com에서 AdMob 계정에 로그인합니다.
  2. 개인 정보 보호 및 메시지를 클릭합니다.
  3. GDPR을 클릭합니다.
  4. 메시지 만들기를 클릭합니다. GDPR 메시지 페이지가 열립니다.
  5. 메시지를 표시할 앱을 선택합니다.
    1. 앱 선택을 클릭합니다.
    2. 원하는 앱을 선택합니다.
    3. 저장을 클릭합니다.
  6. 메시지를 표시할 언어를 선택합니다.
  7. 사용자 동의 옵션 섹션에서 동의 또는 옵션 관리를 선택합니다.

닫기(동의하지 않음) 옵션은 선택하지 마십시오.

  1. 타겟팅 섹션에서 **GDPR 적용 대상 국가(EEA 및 영국)**를 선택합니다.
  2. 계속을 클릭합니다. 메시지 편집 페이지가 열립니다.
  3. 메시지 이름 필드에 나중에 메시지를 식별하는 데 도움이 되는 설명이 포함된 메시지 이름을 입력합니다. 이 이름은 개인 정보 보호 및 메시지 페이지에 표시되며 사용자에게는 보이지 않습니다.
  4. 스타일 지정 탭을 선택합니다.
    1. 전체 섹션에서 보조 색상을 흰색(#ffffff)으로 설정합니다.
    2. 버튼 섹션에서 보조 색상을 회색(#6e6e6e)으로 설정합니다.
  5. 게시를 클릭합니다.
광고 파트너 목록 맞춤설정

기본 GDPR 메시지에서 Google은 모든 광고 네트워크 파트너를 표시하지 않을 수 있습니다. 이러한 네트워크를 포함하지 않으면 광고 수익에 부정적인 영향을 미칠 수 있습니다. 모든 광고 파트너가 GDPR 메시지에 표시되도록 하려면 이 섹션의 단계를 따르십시오.

  1. GDPR 설정 페이지를 엽니다.
  2. 광고 파트너 검토 섹션 아래의 편집 아이콘()을 클릭합니다.
  3. 자주 사용하는 광고 파트너 자동 포함 또는 자주 사용하는 광고 파트너 자동 포함 안 함을 선택합니다. 그런 다음 앱에 연동한 모든 네트워크를 선택합니다.

Google에서 GDPR 인증을 받은 광고 파트너 목록은 Google AdMob 고객센터의 “GDPR 광고 파트너 관리”를 참조하십시오.

  1. 확인을 클릭합니다.
  2. GDPR 설정 페이지 하단의 저장을 클릭합니다.

MAX 약관 및 개인정보 처리방침 flow 활성화

먼저, 앱의 타겟에 Google User Messaging Platform SDK에 대한 종속성을 추가합니다. 프로젝트의 Podfile에서 이 작업을 수행합니다.

target '«your-project-name»' do
  pod 'Google-Mobile-Ads-SDK'
end

앱의 Info.plistString 타입의 NSUserTrackingUsageDescription이라는 새 키를 생성합니다. 이 문자열은 앱이 사용자 또는 기기를 추적하는 데이터를 사용할 수 있도록 권한을 요청하는 이유를 사용자에게 알리는 방법입니다. AppLovin은 이 값을 “보다 개인화된 광고 및 콘텐츠를 위해 기기 정보를 사용합니다.”로 설정할 것을 권장합니다.

프로그래밍 방식으로 또는 애플리케이션 리소스에 설정 파일을 추가하여 MAX Terms and Privacy Policy Flow를 활성화할 수 있습니다. 아래 섹션에서 이 두 가지 방법을 모두 설명합니다.

앱을 검토를 위해 App Store Connect에 제출할 때, iOS 14.5 이상에서만 App Tracking Transparency 프레임워크 권한 요청을 활성화했음을 검토자에게 알려야 합니다. 심사 추가 정보 섹션에서 이 작업을 수행하십시오. 이렇게 하지 않으면 Apple에서 빌드를 거부할 수 있습니다.

프로그래밍 방식

프로그래밍 방식으로 MAX Terms and Privacy Policy Flow를 활성화하려면 SDK를 초기화하기 전에 SDK의 settings 개체의 특정 속성을 설정하십시오. 아래 코드 샘플은 이를 수행하는 방법을 보여줍니다.

#import <AppLovinSDK/AppLovinSDK.h>
⋮
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  ⋮
  ALSdkSettings *settings = [ALSdk shared].settings;
  settings.termsAndPrivacyPolicyFlowSettings.enabled = YES;
  settings.termsAndPrivacyPolicyFlowSettings.privacyPolicyURL = [NSURL URLWithString: @"«https://your-company-name.com/privacy-policy»"];

  // 서비스 약관 URL은 선택 사항입니다.
  settings.termsAndPrivacyPolicyFlowSettings.termsOfServiceURL = [NSURL URLWithString: @"«https://your-company-name.com/terms-of-service»"];
  // GDPR 지역에서 Terms & Privacy Policy flow를 표시하는 것은 선택 사항입니다 (기본적으로 비활성화됨)
  settings.termsAndPrivacyPolicyFlowSettings.showTermsAndPrivacyPolicyAlertInGDPR = YES;

  // 올바른 작동을 위해 미디에이션 프로바이더 값을 @"max"로 설정하십시오.
  ALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
    builder.mediationProvider = ALMediationProviderMAX;
  }];

  // 구성으로 SDK를 초기화합니다.
  [[ALSdk shared] initializeWithConfiguration: initConfig completionHandler:^(ALSdkConfiguration *sdkConfig) {
    ⋮
  }];
}

SDK 키는 AppLovin 대시보드의 Account > General > Keys 섹션에서 찾을 수 있습니다.

AppLovin-Settings.plist

앱의 AppLovin-Settings.plist를 사용하여 MAX Terms and Privacy Policy Flow를 활성화하려면 다음을 수행하십시오.

  1. 프로젝트의 메인 타겟AppLovin-Settings.plist라는 새 프로퍼티 리스트 파일을 추가합니다.
  2. AppLovin-Settings.plistConsentFlowInfo라는 Dictionary 타입의 새 키를 생성합니다. ConsentFlowInfo 내부에 다음 키/값 쌍을 추가합니다.
    1. 키가 ConsentFlowEnabled이고 값이 YESBoolean.
    2. 키가 ConsentFlowPrivacyPolicy이고 값이 개인정보 처리방침 URL인 String.
    3. 선택 사항으로, 키가 ConsentFlowTermsOfService이고 값이 서비스 약관 URL인 String.
    4. 선택 사항으로, Google UMP flow 전에 GDPR 지역에서 약관 및 개인정보 처리방침 알림을 표시하려면 키가 ConsentFlowShowTermsAndPrivacyPolicyAlertInGDPR이고 값이 YESBoolean.

최종 결과는 다음과 같아야 합니다.

Root > ConsentFlowInfo > ConsentFlowEnabled (Boolean) = YES, ConsentFlowPrivacyPolicy (String) = https://lionstudios.cc/privacy/, ConsentFlowTermsOfService (String) = https://lionstudios.cc/terms/

연동

SDK는 SDK를 초기화할 때 consent flow를 표시합니다. 사용자가 flow를 완료하면 SDK는 초기화 완료 콜백을 호출합니다.

제3자 SDK(MMP 또는 분석 SDK 등)를 초기화하기 전에 사용자가 consent flow를 완료할 때까지 기다려야 합니다. 이러한 이유로 초기화 완료 콜백에서 해당 SDK를 초기화하십시오. 사용자가 consent flow를 완료하기 전에 제3자 SDK를 초기화하면 이러한 SDK가 관련 식별자에 액세스할 수 없으므로 측정, 보고 및 광고 수익에 실질적인 영향을 미칩니다.

초기화 콜백에서 MAX 미디에이션 네트워크 SDK를 초기화하지 마십시오. MAX는 이 초기화를 자동으로 수행합니다.

MMP 연동에서 사용자 ID를 설정하는 경우, AppLovin 사용자 ID를 설정하는 곳에 설정하십시오. 아래 코드 스니펫은 Adjust를 예로 사용합니다. Adjust를 초기화하는 방법사용자 ID를 설정하는 방법을 알아보려면 Adjust 문서를 참조하십시오.

#import <AppLovinSDK/AppLovinSDK.h>
#import <Adjust/Adjust.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ⋮
    // 초기화 구성을 생성합니다.
    ALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
      builder.mediationProvider = ALMediationProviderMAX;
    }];

    // 필요한 경우 SDK 초기화 전후에 SDK 설정을 구성합니다.
    ALSdkSettings *settings = [ALSdk shared].settings;
    settings.userIdentifier = @"«user-ID»";

    [Adjust addSessionCallbackParameter: @"«your-user-ID-key»" value: @"«user-ID»"];

    // 구성으로 SDK를 초기화합니다.
    [[ALSdk shared] initializeWithConfiguration: initConfig completionHandler:^(ALSdkConfiguration *sdkConfig) {

        // configuration.appTrackingTransparencyStatus를 통해 앱 투명성 추적 권한을 확인할 수 있습니다.
        // 다른 제3자 SDK를 초기화합니다. 미디에이션된 광고 SDK는 초기화하지 마십시오. MAX가 자동으로 처리합니다. 이 단계를 따르지 않으면 눈에 띄는 연동 문제가 발생할 수 있습니다.

        // AppLovin SDK의 초기화 콜백 내에서 Adjust SDK를 초기화합니다.
        ADJConfig *adjustConfig = [ADJConfig configWithAppToken: @"«your-Adjust-app-token»"
                                                    environment: ADJEnvironmentSandbox or ADJEnvironmentProduction];
        [Adjust appDidLaunch: adjustConfig];

        // 광고 로드 시작
    }];
}
NSUserTrackingUsageDescription 현지화

아래 표는 영어(기본) 설명과 재량에 따라 사용할 수 있는 다양한 현지화 버전을 제공합니다. 앱을 현지화하는 방법을 알아보려면 Documentation > Xcode > Localization 지침을 읽어보십시오.

로케일문자열
영어 (기본)This uses device info for more personalized ads and content
중국어 간체 (ZhHans)我们使用设备信息来提供个性化的广告和内容。
중국어 번체 (ZhHant)我們使用設備信息來提供個性化的廣告和內容。
프랑스어 (fr)Cela permet d’utiliser les informations du téléphone pour afficher des contenus publicitaires plus pertinents.
독일어 (de)Dies benutzt Gerätinformationen für relevantere Werbeinhalte
일본어 (Ja)これはユーザーデータをもとに、より関連性の高い広告コンテンツをお客様に提供します
한국어 (Ko)보다 개인화된 광고 및 콘텐츠를 위해 기기 정보를 사용합니다.
스페인어 (es)Esto utiliza la información del dispositivo para anuncios y contenido más personalizados
기존 사용자에게 GDPR flow 표시

AppLovin은 GDPR 지역의 기존 사용자가 GDPR flow에 다시 진입할 수 있도록 허용할 것을 권장합니다. 일반적으로 사용자는 앱의 설정 섹션에서 기존 개인정보 보호 설정 관리 옵션을 통해 이 작업을 수행합니다. SDK API ALSdkConfiguration.consentFlowUserGeography를 사용하여 사용자가 GDPR 지역에 있는지 확인할 수 있습니다. consentFlowUserGeographyALConsentFlowUserGeographyGDPR인 경우 사용자는 GDPR 지역에 있는 것입니다. 이 경우 조건부로 해당 설정 옵션을 사용자에게 표시할 수 있습니다.

사용자가 기존 개인정보 보호 설정 관리(또는 이에 상응하는 옵션)를 클릭하면 -[ALCMPService showCMPForExistingUserWithCompletion]을 호출합니다. 이렇게 하면 사용자의 기존 동의 정보가 재설정됩니다.

#import "MyViewController.h"
#import <AppLovinSDK/AppLovinSDK.h>

@interface MyViewController ()

@end

@implementation MyViewController

- (void)loadAndShowCMPFlow
{
  ALCMPService *cmpService = [ALSdk shared].cmpService;

  [cmpService showCMPForExistingUserWithCompletion:^(ALCMPError * _Nullable error) {

    if ( !error )
    {
      // CMP 알림이 성공적으로 표시되었습니다.
    }
  }];
}

@end
테스트

GDPR 지역 외부에서 Google CMP를 테스트하려면 아래 표시된 기술 중 하나를 사용하여 디버그 사용자 지역을 설정하십시오:

이 flow는 신규 사용자에게만 표시됩니다. CMP 프롬프트를 완료한 후 flow를 테스트하려면 앱을 삭제하고 다시 설치해야 합니다.

    프로그래밍 방식

    디버그 사용자 지역을 GDPR로 설정하려면 다음과 같은 코드를 사용하십시오:

    ALSdk.shared.termsAndPrivacyPolicyFlowSettings.debugUserGeography = ALConsentFlowUserGeographyGDPR;
    
    AppLovin-Settings.plist

    디버그 사용자 지역을 설정하려면 ConsentFlowInfo 개체 아래에 문자열 값 gdpr을 가진 ConsentFlowDebugUserGeography 키를 추가합니다.

    ConsentFlowInfo > ConsentFlowDebugUserGeography (String) = gdpr

Mediation Debugger로 Google UMP 연동 테스트

설치 확인

MAX Mediation Debugger의 Privacy 섹션 아래에 있는 CMP (Consent Management Platform) 행에는 연동한 Google 인증 CMP SDK의 이름이 표시됩니다. Google UMP SDK를 연동한 경우 이름으로 “Google consent management solutions”가 표시됩니다.

MAX Mediation Debugger. CMP (Consent Management Platform): Google consent management solutions

IAB TCF 매개변수 확인

CMP (Consent Management Platform) 행을 선택하면 IAB TCF 매개변수인 IABTCF_gdprApplies, IABTCF_TCStringIABTCF_AddtlConsent를 검사할 수 있습니다. 후자의 두 개 매개변수의 경우, 행을 클릭하여 해당 값을 복사하거나 공유할 수 있습니다.

IAB TCF Parameters: IABTCF_gdprApplies, IABTCF_TCString, IABTCF_AddtlConsent

누락된 네트워크 확인

CMP CONFIGURATION 섹션에서 Google UMP 구성에 연동되어 있거나 누락된 네트워크를 확인할 수 있습니다. 이는 MAX에서 사용할 수 있는 모든 네트워크의 전체 목록입니다. 애플리케이션에 연동하지 않은 네트워크는 무시해도 됩니다.

CMP flow에는 애플리케이션에 연동하는 네트워크를 나열해야 합니다. 해당 네트워크 중 누락된 네트워크가 있는지 확인하고 이 문제를 해결하려면 다음을 수행하십시오.

  1. CMP flow를 완료하여 모든 네트워크에 동의를 부여합니다.
  2. Mediation Debugger를 엽니다. Mediation Debugger는 TC 및 AC 문자열을 파싱하고 두 가지 목록을 표시합니다.
    1. CMP flow에 나열한 연동된 네트워크
    2. 추가해야 할 수 있는 누락된 네트워크 (CMP CONFIGURATION 섹션의 Configured CMP Networks 아래)
  3. MISSING ATP NETWORKS 또는 MISSING TCF VENDORS 목록에서 누락된 네트워크를 볼 수 있습니다. 이 중 애플리케이션에 연동한 네트워크가 있는 경우:
    1. CMP 대시보드로 돌아갑니다. GDPR 메시지가 적용되는 네트워크에 누락된 네트워크를 추가합니다. (Google의 Unified Consent Flow에서 이를 수행하는 방법은 광고 파트너 목록 맞춤설정을 참조하십시오.)
    2. 앱을 재시작합니다.

CMP flow에 모든 네트워크가 포함되었는지 확인할 때까지 이 단계를 반복합니다.

미디에이션된 네트워크 동의 상태 확인

모든 네트워크의 동의 상태를 보려면 Mediation Debugger에서 Network Consent Statuses를 확장합니다. Mediation Debugger는 TC 문자열을 파싱하고 모든 네트워크의 동의 상태를 표시합니다. 또한 Google UMP가 생성하는 AC 문자열에서 파싱하는 AppLovin 동의 상태도 표시합니다.

Network Consent Statuses: TCF Vendors (TC String), ATP Networks (AC String)


search