DMA 동의 배너 노출하기
2024년 3월 6일 부로 EU 및 EEA 지역 내 아래와 같은 DMA 규정 의무화와 관련하여, Google에서는 EU 및 EEA 지역에서 Firebase 또는 마케팅 어트리뷰션 툴을 통해 광고/측정 데이터가 Google로 전송되는 경우, 해당 지역 유저로부터 전송에 대한 동의를 받는 것으로 관련 정책에 대응하고 있습니다.
알파벳, 아마존, 애플, 바이트댄스, 메타, 마이크로소프트와 같은 게이트 키퍼에서 맞춤 광고 제공을 위한 개인 정보를 수집 시, 유저로부터 명시적 동의를 받아야 함
이에 대해, Hive SDK에서는 Google의 'EU 사용자 동의 정책' 대응을 지원하도록 DMA 동의 배너 노출 기능 을 제공합니다.
DMA 동의 배너 노출 기능을 적용하면 광고 활용 및 측정 목적의 개인 정보 수집에 대한 시용자 동의 여부를 체크할 수 있는 배너를 노출할 수 있습니다.
기본 동작 플로우¶
사용자 앱에 개인정보 수집 동의를 적용하면 아래의 SDK 동작 플로우 중 3 단계에서부터 동작하게 됩니다.
- SDK 초기화 및 로그인에서 약관 동의 노출
- 애디즈 등 CMP 동의 팝업 노출
-
Analytics.showConsentModeIfRequire()를 호출하여 개인정보 수집 동의 UI를 조건부로 노출- 사용자가 이미 동의한 경우에는 동의배너 UI를 노출하지 않으며 기한이 만료되었거나 추가 동의가 필요한 경우에만 노출
[ConsentMode]객체 파라미터를 null로 설정할 경우, Hive SDK의 서드파티 마케팅 트래킹 툴 추가 여부에 따라 동의 목록을 자동으로 생성
-
Analytics.showConsentMode()를 호출하여 개인정보 수집 동의 UI를 상시 노출- 이전에 동의한 내역이 있다면 그 값에 따라 동의가 설정된 상태로 UI 노출
- 사용자가 언제든 다시 동의하거나 동의 상태를 확인할 수 있도록 앱 내 설정 버튼 구성 가능
[ConsentMode]객체 파라미터를 null로 설정할 경우, Hive SDK의 서드파티 마케팅 트래킹 툴 추가 여부에 따라 동의 목록을 자동으로 생성
동의 배너 UI 노출하기¶
Hive SDK 에서는 Hive Analytics의 ContentMode 클래스 객체를 통해 동의 배너 UI 노출 기능을 제공합니다.
동의 배너 UI 설정은 ContentMode 객체의 함수 파라미터 설정에 따라 크게 '기본 동의 배너 UI'와 '커스텀 동의 배너 UI'로 나뉩니다.
- 기본 동의 배너 UI: SDK에서 기본으로 제공하는 UI와 문구를 포함
- 커스텀 동의 배너 UI: 사용자 앱 성격에 맞추어 수정할 수 있는 UI와 문구를 포함
기본 동의 배너 UI 설정¶
[ConsentMode] 객체 파라미터를 null로 입력하면, SDK에서 사용하는 서드 파티 마케팅 트래킹 툴의 추가 여부에 따라 아래와 같은 '기본 동의 목록'을 자동으로 생성합니다.
앱에서 사용자가 개인정보 수집 동의를 완료하면, Hive SDK는 콜백을 통해 각 항목의 동의 결과를 전달합니다.
콜백으로 전달되는 값은 ConsentStatus 객체의 리스트 형태로 제공됩니다.
id: 동의 항목의 고유 식별자- 목적
ad_user_data,ad_personalization,analytics_storage - 목적
ad_personalization에 대한 각 MMP 업체google,adjust,appsflyer,singular,airbridge
- 목적
granted: 동의 항목 동의 여부- 동의 시
Analytics.CONSENT_GRANTED, 거부 시Analytics.CONSENT_DENIED
- 동의 시
consentDate: 사용자가 동의 여부를 결정한 시각 (밀리초 단위)expiredDate: 동의가 만료되는 시각 (밀리초 단위)
커스텀 동의 배너 UI 설정¶
Hive SDK에서 제공하는 기본 동의 배너 UI와 다르게 사용자 앱 성격에 맞는 UI와 문구를 포함합니다. 아래와 같이 [ContentMode] 객체에서 제공하는 각 파라미터에 매핑되는 수정 문구를 기입합니다.
ConsentMode.title: 동의 배너의 상단에 표시되는 문구입니다.ConsentMode.companyName: 기본 정보로 노출 시, 회사명이 필요한 title과 함께 ConsentForm의 title 및 content에 설정됩니다.ConsentMode.privacyPolicy: 동의 배너 하단의 '개인정보 처리방침' 버튼을 눌렀을때 동작하는 URL 입니다.ConsentMode.adUserData: 광고용 사용자 데이터 사용(ad_user_data)에 대한 동의 항목입니다.ConsentMode.adPersonalization: 개인 맞춤형 광고 사용(ad_personalized)에 대한 동의 항목입니다.ConsentMode.analyticsStorage: 분석 및 통계 데이터 수집(analytics_storage)에 대한 동의 항목입니다. (현재 "Google"만 지원)ConsentForm.id: 동의 항목의 고유 식별자 입니다. 목적(ad_user_data, ad_personalization, analytics_storage)과 목적 ad_personalization에 대한 각 MMP 업체("google", "adjust", "appsflyer", "singular", "airbridge")가 포함될 수 있습니다.ConsentForm.title: 동의 항목에 대한 제목 문구입니다.ConsentForm.content: 동의 항목에 대한 설명 문구입니다.ConsentStatus.id: 동의 항목의 고유 식별자입니다. ConsentForm.id 내용을 참고하세요.ConsentStatus.granted: 동의 항목에 대한 동의 여부 상태 값입니다. 동의 시, Analytics.CONSENT_GRANTED. 거부 시, Analytics.CONSENT_DENIED입니다.
서드 파티 동의 관리 플랫폼(CMP)과 연동하기¶
동의 배너 팝업을 노출할 때 생성되는 TCF 규격에 맞는 파일을 활용하면 서드파티 동의 관리 플랫폼(CMP)과 중복으로 동의 배너 UI를 노출하지 않도록 설정할 수 있습니다.
Analytics.showConsentModeIfRequire()를 호출할 때 checkCmp 파라미터가 true인 경우, TCF 규격에 맞게 저장된 파일이 있다면 해당 파일을 읽어 동의 설정한 것으로 간주합니다. checkCmp 파라미터 기본값은 true입니다.
예를 들어, 애디즈를 사용할 경우 Google AdMob 콘솔에 접속하여 GDPR 메시지를 작성한 후, 애디즈를 초기화할 수 있습니다. 설정에 대한 자세한 사항은 HIVE ADIZ > GDPR 메시지 작성를 참고하세요.
동의 배너 노출 설정하기¶
Hive SDK 각 엔진 별 개발 환경에서 동의 배너 노출 설정 방법을 설명합니다.
Hive SDK Unity¶
- Unity 프로젝트 상단 메뉴의 Hive > Hive Dependencies에서 Hive Dependencies 창을 불러옵니다.
- 아래와 같이 애널리틱스 Consent-Mode 옵션을 체크 및 저장(Save)하여 활성화합니다.

Hive SDK Android¶
앱 수준의 build.gradle 에서 '애널리틱스 Consent-Mode' 라이브러리를 선언합니다.
implementation "com.com2us.android.hive:hive-analytics-consent-mode:${HIVE_SDK_VERSION}" // BoM을 사용하지 않을 경우 HiveSDK 버전 입력
Hive SDK iOS¶
Podfile에서 '애널리틱스 Consent-Mode' 프레임워크를 선언합니다.
pod 'HiveAnalyticsConsentMode', '${HIVE_SDK_VERSION}' # SDK 버전 입력
