어플리케이션, 앱 (Application)/안드로이드 (Android)

애드몹 GDPR 메시지 적용 준비

sobal 2025. 3. 27. 22:26

EU 지역에 앱을 출시하고 광고를 띄울려면 개인정보 수집 선택, 알림을 위한 GDPR 메시지를 만들어야한다.

구글 애드몹의 메뉴에서 개인 정보 보호 및 메시지 페이지에 가면 아래와 같은 안내가 나온다.

 

유럽 규정 메시지 만들기를 클릭하면 아래와 같은 화면에서 여러가지 설정을 할 수 있다. 

먼저 앱을 연결한다.

그리고 동의하지 않음은 웬만하면 사용 안함으로 설정하고 닫기도 사용 안함으로 설정한다.

동의, 옵션 관리, 광고 파트너 화면을 자신이 원하는대로 수정하면 되는데 여기서 여러 경험자들의 의견을 바탕으로 몇 가지 유의 사항을 정리하고자한다.

1. don't consent 비활성화한다.

2. 팝업에서 옵션 값이 sharedpreferences에 저장되므로 전체 동의를 안했으면 광고를 못 띄운다. 전체 동의를 안 했으면 계속 동의하도록 안내해야한다.

3. 언어를 모두 활성화한다.

 

 

다음 앱 내 설정이다.

 

1. UMP SDK 라이브러리 추가

  • Gradle에 의존성 추가
    build.gradle (Module: app) 파일에 다음과 같이 UMP SDK 의존성을 추가한다.
dependencies { 
implementation ("com.google.android.ump:user-messaging-platform:최신버전")
}

2. 동의 요청 파라미터 생성 및 동의 정보 업데이트

  • ConsentRequestParameters 객체를 생성하여 동의 요청에 필요한 파라미터를 설정한다.
  • 이후 ConsentInformation 객체를 통해 현재 동의 상태를 업데이트한다.
import com.google.android.ump.ConsentRequestParameters;
import com.google.android.ump.UserMessagingPlatform;
import com.google.android.ump.ConsentInformation;
import com.google.android.ump.FormError;

ConsentRequestParameters params = new ConsentRequestParameters.Builder().build();
ConsentInformation consentInformation = UserMessagingPlatform.getConsentInformation(context);

consentInformation.requestConsentInfoUpdate(
    activity,
    params,
    new ConsentInformation.OnConsentInfoUpdateSuccessListener() {
        @Override
        public void onConsentInfoUpdateSuccess() {
            // 동의 정보 업데이트 성공 시 처리
            if (consentInformation.isConsentFormAvailable()) {
                loadConsentForm();  // 동의 폼 로드 및 표시
            }
        }
    },
    new ConsentInformation.OnConsentInfoUpdateFailureListener() {
        @Override
        public void onConsentInfoUpdateFailure(FormError formError) {
            // 오류 처리: 네트워크 문제 등
        }
    }
);

3. 동의 폼 로드 및 표시

  • 사용자의 동의를 받기 위해 동의 폼을 로드하고, 필요 시 이를 표시한다.
import com.google.android.ump.ConsentForm;

private void loadConsentForm() {
    UserMessagingPlatform.loadConsentForm(
        context,
        new ConsentForm.OnConsentFormLoadSuccessListener() {
            @Override
            public void onConsentFormLoadSuccess(ConsentForm consentForm) {
                // 동의 폼이 성공적으로 로드되면 사용자에게 표시합니다.
                consentForm.show(
                    activity,
                    new ConsentForm.OnConsentFormDismissedListener() {
                        @Override
                        public void onConsentFormDismissed(FormError formError) {
                            // 사용자가 동의 폼을 닫은 후의 처리
                            // 사용자가 동의했는지 여부에 따라 광고 요청 설정 변경
                        }
                    }
                );
            }
        },
        new ConsentForm.OnConsentFormLoadFailureListener() {
            @Override
            public void onConsentFormLoadFailure(FormError formError) {
                // 동의 폼 로드 실패 처리
            }
        }
    );
}

4. 광고 요청 시 개인화/비개인화 광고 설정

  • 사용자가 동의하지 않은 경우 (또는 아직 동의 여부가 결정되지 않은 경우), 비개인화 광고(non-personalized ads)를 요청해야 한다.
  • 이를 위해 광고 요청 시 추가 파라미터 "npa": "1"을 설정한다.
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.admob.AdMobAdapter;
import android.os.Bundle;

Bundle extras = new Bundle();
extras.putString("npa", "1");  // "1"이면 비개인화 광고 요청

AdRequest adRequest = new AdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();

// 이후 adRequest를 사용하여 광고 로드

5. 개인정보처리방침 업데이트

  • 앱의 개인정보처리방침에 어떠한 데이터를 수집하는지, 어떻게 사용하는지 설명하고 광고 네트워크(AdMob 포함)의 데이터 처리 방식에 대해서도 명확하게 설명해야한다.
  • 그리고 Google의 개인정보 보호 정책 링크도 포함시키는 것이 좋다.

6. 테스트 및 배포 전 검증

  • 유럽(EU) 지역 VPN 등을 써서 실제 동의 플로우가 제대로 작동하는지 테스트한다.
  • 동의 여부에 따라 개인화/비개인화 광고가 올바르게 표시되는지 확인한다.

7. 로직

  • 기본적인 틀은 동일하게 완성하더라도 로직은 각자의 앱에 맞게 작성해야한다. 예를 들어 개인정보 수집 동의를 안해서 리워드 광고를 띄우지 못하게 된 경우 해당 내용을 사용자의 경험을 해치지 않는 선에서 안내하는 게 좋다.

 

참고 자료

 

AdMob 정책 및 제한사항 - Google AdMob 고객센터

도움이 되었나요? 어떻게 하면 개선할 수 있을까요? 예아니요

support.google.com

 

 

시작하기  |  Android  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Google 사용자 메시지 플랫폼 (UMP) SDK는 개인

developers.google.com

 

 

앱용 유럽 규정 메시지 작성 - Google AdMob 고객센터

도움이 되었나요? 어떻게 하면 개선할 수 있을까요? 예아니요

support.google.com