EEltaCrew
블로그

AdMob 계정에 GDPR 동의 메시지가 하나도 없었다: 앱 21개에 UMP 를 하루에 넣은 기록

게시 2026-09-16실측 기준 2026-09-11읽는 시간 약 3분elta · EltaCrew

새 앱 릴리즈 로그에 "no form(s) configured" 가 찍혀서 확인해 보니, AdMob 계정에 유럽 규정 동의 메시지가 0개였고 UMP 코드가 들어간 앱은 17개 중 3개뿐이었습니다. 메시지를 만들고 14개 앱에 코드를 넣어 재출시하기까지의 순서와 함정을 씁니다.

발견

새로 만든 앱을 릴리즈 빌드로 돌리는데 로그에 이런 줄이 있었습니다.

UMP: no form(s) configured

동의 SDK(User Messaging Platform)가 콘솔에서 폼을 받아오려 했는데 없다는 뜻입니다. AdMob 「개인 정보 보호 및 메시지」에 들어가 보니 유럽 규정 카드가 「만들기」 상태였습니다. 메시지가 한 개도 없었습니다. 앱을 몇 년 운영하는 동안 EEA·영국·스위스 사용자에게는 동의 없이 제한 광고만 나가고 있었던 셈입니다.

더 확인해 보니 문제가 두 겹이었습니다.

  1. 콘솔에 메시지가 없다.
  2. 운영 중인 앱 17개 중 UMP 코드(requestConsentInfoUpdate / ConsentInformation)가 있는 앱이 3개뿐이다. 나머지 14개는 메시지를 만들어도 아무것도 뜨지 않는다.

콘솔 쪽: 메시지 하나로 앱 21개

메시지는 하나만 만들었습니다. 「앱 선택」에서 21개(운영 중 17 + 신규 4)를 전부 체크하고, 기본 언어 영어에 추가 언어 18개를 붙였습니다. 한국어는 선택 목록에 없습니다(규정 대상 지역이 아니라서).

설정은 이렇게 했습니다.

게시 후 앱에 반영되기까지 최대 1시간이 걸립니다. 앱마다 개인정보처리방침 URL 이 등록돼 있어야 하고, 없으면 「선택 항목이 잘못되었거나 정보가 누락」 오류로 저장이 안 됩니다. 새 앱을 등록할 때마다 이 메시지의 앱 목록에 추가하는 것도 잊기 쉬운 부분입니다.

앱 쪽: 14개에 코드 추가 후 재출시

콘솔 메시지는 UMP 코드가 있는 앱에만 효과가 있습니다. 14개 앱에 user-messaging-platform 의존성을 넣고, 광고 SDK 초기화 전에 동의 정보를 갱신하고 필요하면 폼을 띄우는 순서로 코드를 넣었습니다. 표본은 신규 앱에서 쓰던 클래스 하나를 그대로 복사했습니다.

핵심 순서는 이렇습니다.

  1. requestConsentInfoUpdate 로 동의 상태를 갱신
  2. loadAndShowConsentFormIfRequired 로 필요할 때만 폼 표시
  3. canRequestAds() 가 true 일 때만 광고 SDK 초기화

3번이 중요합니다. 동의 결과와 무관하게 광고를 초기화하면 폼이 있어도 의미가 없습니다.

같은 날 강제 인앱 업데이트도 함께 넣어 17개 앱을 일괄 출시했습니다. 옛 버전에 머무는 사용자에게는 동의 폼이 영영 안 뜨기 때문입니다.

확인은 Play 설치본으로만

걸린 것

정리

AdMobGDPRUMPAndroid

함께 읽기

R8 을 켜고 빌드는 통과했는데 앱이 깨졌다: 15개 앱에서 실제로 걸린 런타임 함정 5가지Play 의 2027년 코드 최적화 요건에 맞춰 앱 15개에 R8 을 켰습니다. 빌드는 전부 통과했지만 7개 중 2개가 실행 중에 깨졌습니다. Gson 역직렬화, getIdentifier 리소스 조회, Room _Impl, 디버그 빌드의 무효화 등 크래시 로그에 안 잡히는 유형을 정리합니다.같은 앱, 같은 사용자인데 네이티브 광고가 배너보다 1,000회당 38배: 형식별 단가 실측과 삭제 직전에 멈춘 이유TV 리모컨 앱 두 개의 7일 AdMob 데이터로 배너와 네이티브 고급형의 1,000회 노출당 수익을 비교했습니다. 과다 노출이 단가를 어떻게 죽이는지, 네이티브의 낮은 채움률은 어떻게 볼지, 그리고 배너 광고 단위를 지우려다 멈춘 이유를 씁니다.앱 안에서 언어를 바꿨는데 가끔 안 바뀌는 이유: setApplicationLocales 는 떠 있는 액티비티만 다시 만든다"한국어에서 English 로 바꿔도 그대로다, 껐다 켜야 바뀐다" 는 제보의 원인은 AppCompat 이 그 순간 화면에 떠 있는 액티비티만 재생성하기 때문이었습니다. 뒤에 멈춰 있던 화면은 옛 언어로 돌아옵니다. 앱 8개에 적용한 해결책과, 같이 걸린 함정 5가지를 씁니다.