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

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

MAX SDK에 포함된 CMP flow를 사용하거나 자체 CMP flow를 연동할 수 있습니다. 자체 CMP flow를 연동하는 경우, MAX SDK를 초기화하기 전에 해당 flow가 완료되었는지 확인하십시오.

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

(AppLovin의 자동화된 flow를 통해서든 다른 방식을 통해서든) Google UMP를 CMP로 사용하지 않는 경우, 선택한 CMP가 연동하는 모든 mediation 네트워크를 지원하는지 확인해야 합니다.

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 전용)
  4. MAX SDK가 초기화 완료 콜백을 호출하여 광고 로드를 시작할 수 있음을 알립니다.

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

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

Google UMP 활성화

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

MAX 동의 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 설정 page를 엽니다.
  2. 광고 파트너 검토 섹션 아래의 편집 아이콘()을 클릭합니다.
  3. 자주 사용하는 광고 파트너 자동 포함 또는 자주 사용하는 광고 파트너 자동 포함 안 함 중 하나를 선택합니다. 그런 다음 앱에 연동한 모든 네트워크를 선택합니다.

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

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

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

먼저, 모듈의 앱 수준 Gradle 파일에 Google User Messaging Platform SDK에 대한 종속성을 추가합니다. 이 파일은 일반적으로 app/build.gradle입니다:

dependencies {
  implementation 'com.google.android.ump:user-messaging-platform:4.0.0'
}

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

프로그래밍 방식

프로그래밍 방식으로 MAX Terms and Privacy Policy Flow를 활성화하려면 SDK의 settings 객체의 특정 속성을 설정합니다. 아래 코드 샘플과 같이 SDK를 초기화하기 전에 이 작업을 수행하십시오.

package com.applovin.apps.test;

import android.net.Uri;

import com.applovin.sdk.AppLovinMediationProvider;
import com.applovin.sdk.AppLovinSdk;
import com.applovin.sdk.AppLovinSdkSettings;

public class MyApplication
       extends Application
{
  @Override
  public void onCreate()
  {
    super.onCreate();

    val settings = AppLovinSdk.getInstance( this ).getSettings();
    settings.getTermsAndPrivacyPolicyFlowSettings().setEnabled( true );
    settings.getTermsAndPrivacyPolicyFlowSettings().setPrivacyPolicyUri( Uri.parse( "«https://your-company-name.com/privacy-policy»" ) );

    // Terms of Service URL is optional
    settings.getTermsAndPrivacyPolicyFlowSettings().setTermsOfServiceUri( Uri.parse( "«https://your-company-name.com/terms-of-service»" ) );
    // Showing Terms & Privacy Policy flow in GDPR region is optional (disabled by default)
    settings.getTermsAndPrivacyPolicyFlowSettings().setShowTermsAndPrivacyPolicyAlertInGdpr( true );

    // Set the mediation provider value to "max" to ensure proper functionality
    AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder( "«SDK-key»" )
                    .setMediationProvider( AppLovinMediationProvider.MAX )
                    .build();
                    
    // Initialize the SDK with the configuration
    AppLovinSdk.getInstance( this ).initialize( initConfig, new AppLovinSdk.SdkInitializationListener()
    {
      @Override
      public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig)
      {
        ⋮
      }
    } );
  }
}
연동

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

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

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

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

package com.applovin.apps.test;

import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustConfig;
import com.adjust.sdk.LogLevel;
import com.applovin.sdk.AppLovinMediationProvider;
import com.applovin.sdk.AppLovinSdk;
import com.applovin.sdk.AppLovinSdkConfiguration;
import com.applovin.sdk.AppLovinSdkInitializationConfiguration;
import com.applovin.sdk.AppLovinSdkSettings;

import lombok.val;

public class MyApplication
       extends Application
{
  @Override
  public void onCreate()
  {
    super.onCreate();

    // Create the initialization configuration
    AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder( "«SDK-key»" )
        .setMediationProvider( AppLovinMediationProvider.MAX )
        .build();

    // Set the user ID
    val settings = AppLovinSdk.getInstance( this ).getSettings();
    settings.setUserIdentifier( "«user-ID»" );

    // Initialize the SDK with the configuration
    AppLovinSdk.getInstance( this ).initialize( initConfig, new AppLovinSdk.SdkInitializationListener()
    {
      @Override
      public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig)
      {
        // Initialize the Adjust SDK inside the AppLovin SDK's initialization callback
        AdjustConfig adjustConfig = new AdjustConfig( this, "«your-Adjust-app-token»", AdjustConfig.ENVIRONMENT_SANDBOX or AdjustConfig.ENVIRONMENT_PRODUCTION );
        Adjust.onCreate( adjustConfig );

        // Start loading ads
      }
    } );
  }
}
기존 사용자에게 GDPR flow 표시

AppLovin은 GDPR 지역의 기존 사용자가 GDPR flow에 다시 진입할 수 있도록 허용할 것을 권장합니다. 일반적으로 사용자는 앱의 설정 섹션에서 기존 개인정보 보호 설정 관리 옵션을 통해 이 작업을 수행합니다. 사용자가 GDPR 지역에 있는지 여부에 따라 해당 설정 옵션을 조건부로 표시할 수 있습니다. 사용자가 GDPR 지역에 있는지 확인하려면 AppLovinSdkConfiguration.getConsentFlowUserGeography()를 호출합니다. (getConsentFlowUserGeography()ConsentFlowUserGeography.GDPR을 반환하면 사용자는 GDPR 지역에 있는 것입니다.)

사용자가 기존 개인정보 보호 설정 관리(또는 이에 상응하는 버튼)를 클릭하면 AppLovinCmpService.showCmpForExistingUser()를 호출합니다. 이 작업은 사용자의 기존 동의 정보를 재설정합니다.

package com.applovin.apps.test;

import android.app.Activity;

import com.applovin.sdk.AppLovinSdk;
import com.applovin.sdk.AppLovinCmpService;

public class MyActivity
       extends Activity
{
  private void showAppLovinConsentFlow()
  {
    AppLovinCmpService cmpService = AppLovinSdk.getInstance( this ).getCmpService();

    cmpService.showCmpForExistingUser( this, new AppLovinCmpService.OnCompletedListener()
    {
      @Override
      public void onCompleted(final AppLovinCmpError error)
      {
        if ( null == error )
        {
          // The CMP alert was shown successfully.
        }
      }
    } );
  }
}
테스트

GDPR 지역 외부에서 Google CMP를 테스트하려면 다음 방법 중 하나를 사용하여 디버그 사용자 지역을 GDPR로 설정하십시오.

AppLovinSdkSettings settings = AppLovinSdk.getInstance( this ).getSettings();
⋮
settings.getTermsAndPrivacyPolicyFlowSettings().setDebugUserGeography( AppLovinSdkConfiguration.ConsentFlowUserGeography.GDPR );

그런 다음, MAX SDK를 초기화하기 전에 테스트 기기 해시 ID를 설정합니다. Google CMP SDK는 앱이 기기에서 실행될 때 이 테스트 기기 해시 ID를 로그에 기록합니다. 다음 호출을 수행하여 테스트 기기 해시 ID를 설정합니다:

settings.setExtraParameter("google_test_device_hashed_id", "«your-test-device-hashed-ID»");

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에 모든 네트워크가 포함되었는지 확인할 때까지 이 단계를 반복합니다.

CMP Configuration: IABTCF_CmpSdkID = 300, IABTCF_CmpSdkVersion = 2. To check which of your integrated networks are missing from your CMP, first make sure that you have granted consent to all networks through your CMP flow. Then add the following networks to your CMP network list. Configured CMP Networks: Missing 3 network(s).
Configured CMP Networks: Missing TCF Vendors (TC String), Missing ATP Networks (AC String), Listed TCF Vendors (TC String)

mediated 네트워크 동의 상태 확인

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

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


search