콘텐츠로 이동

애널리틱스 동의 배너 노출하기

EU 및 EEA 지역에서는 2024년 3월 6일 부로 아래와 같은 DMA 규정이 의무화 되었습니다.

알파벳, 아마존, 애플, 바이트댄스, 메타, 마이크로소프트와 같은 게이트 키퍼에서 맞춤 광고 제공을 위한 개인 정보를 수집 시, 유저로부터 명시적 동의를 받아야 함

따라서 EU 및 EEA 지역에서 Firebase 또는 마케팅 어트리뷰션 툴을 통해 구글에 데이터를 전송한다면 해당 지역의 유저로부터 정보 제공에 대한 동의를 받아야 합니다.

Hive SDK 에서는 개인정보 수집 동의 여부를 체크할 수 있는 동의 배너 노출 기능을 제공합니다.

 

기본 동작 플로우

사용자 앱에 개인정보 수집 동의를 적용하면 아래의 SDK 동작 플로우 중 3 단계에서부터 동작하게 됩니다.

  1. SDK 초기화 및 로그인에서 약관 동의 노출
  2. ADIZ 등 CMP 동의 팝업 노출
  3. Analytics.showConsentModeIfRequire() 를 호출하여 조건부로 개인정보 수집 동의 UI  노출 - 사용자가 이미 동의를 한 경우에는 동의배너 UI를 노출하지 않으며 기한이 만료되었거나 추가 동의가 필요한 경우에만 노출
  4. Analytics.showConsentMode() 를 호출하여 개인정보 수집 동의 UI  상시 노출 - 이전에 동의한 내역이 있다면 그 값에 따라 동의 상태가 설정된 상태로 UI 가 노출 - [ConsentMode] 객체 파라미터를 null 로 설정할 경우,  Hive SDK 의 서드파티 마케팅 트래킹 툴 추가 여부에 따라 동의 목록을 자동으로 생성 - 사용자가 언제든 다시 동의하거나 및 동의 상태를 확인할 수 있도록 앱 내 설정 버튼 구성 가능

동의 배너 UI  노출하기

Hive SDK 에서는 Hive Analytics의 ContentMode` 클래스 객체를 통해 동의 배너 UI 노출 기능을 제공합니다.

동의 배너 UI  설정은 ContentMode 객체의 함수 파라미터 설정에 따라 크게  '기본 동의 배너 UI'와 '커스텀 동의 배너 UI'  로 나뉩니다.

[ConsentMode] 객체 파라미터를 null 로 입력하면, Hive SDK 에서 사용하는 서드 파티 마케팅 트래킹 툴의 추가 여부에 따라 아래와 같은 '기본 동의 목록'을 자동으로 생성합니다.

앱에서 개인정보 수집 동의를 완료하면, Hive SDK에서는 아래의 각 항목 값에 대한 콜백을 통해 동의했음을 판단할 수 있습니다.

  • [ConsentMode.ConsentForm.providerName] :
    • "main": 공통 동의 항목
    • "google", "adjust", "appsflyer", "singular", "airbridge": 기본 동의 배너에 포함되는 Provider 항목

Hive SDK에서 제공하는 기본 동의 배너 UI 와 다르게 사용자 앱 성격에 맞는 UI와 문구를 포함합니다. 아래와 같이 [ContentMode] 객체에서 제공하는 각 파라미터에 매핑되는 수정 문구를 넣어줍니다.

  • ConsentMode.title: 동의 배너의 상단에 표시되는 문구 입니다.
  • ConsentMode.companyName: 기본 정보로 노출 시, 회사명이 필요한 title과 함께 mainForm 의 dataUsageDescription에 설정됩니다.
  • ConsentMode.privacyPolicy: 동의 배너 하단의 '개인정보 처리방침' 버튼을 눌렀을때 동작하는 URL 입니다.
  • ConsentMode.mainForm: 기본 동의 항목으로 지정되며 mainForm을 동의하지 않으면 다른 항목을 동의할 수 없습니다.
  • ConsentMode.formList: 개인 정보를 공유할 업체별 동의 항목입니다.
  • ConsentForm.providerName: 동의 대상에 해당하는 Provider 이름입니다. "main"으로 설정할 경우 ConsentMode.mainForm 설정과 동일한 설정이 됩니다.
  • ConsentForm.dataUsageTitle: 기기 정보를 providerName과 공유하는 내용의 타이틀 문구 입니다.
  • ConsentForm.dataUsageDescription: dataUsageTitle 의 세부 내용입니다.
  • ConsentForm.personalizationTitle: 맞춤 광고 정보 제공을 동의하는 타이틀 문구 입니다.
  • ConsentForm.personalizationDescription: personalizationTitle의 세부 내용 입니다.
  • ConsentStatus.providerName: 동의 대상에 해당하는 Provider 이름입니다. 따로 설정하지 않을 경우 "main", * "google", "adjust", "appsflyer", "singular", "airbridge" 중 하나가 설정됩니다.
  • ConsentStatus.consentForDataUsage: 기기 정보를 [providerName] 과 공유할지 여부입니다. 유저의 동의에 따라 [Analytics.CONSENT_GRANTED] 혹은 [Analytics.CONSENT_DENIED] 값이 설정됩니다. 최초로 아무 설정도 하지 않았을 경우 "not-set" 혹은 empty string 이 됩니다.
  • ConsentStatus.consentForPersonalization: 맞춤 광고 정보를 [providerName] 과 공유할지 여부 입니다. 유저의 동의에 따라 [Analytics.CONSENT_GRANTED] 혹은 [Analytics.CONSENT_DENIED] 값이 설정 됩니다. 최초로 아무 설정도 하지 않았을 경우 "not-set" 혹은 empty string 이 됩니다.

서드 파티 동의 관리 플랫폼(CMP)과 연동하기

동의 배너 팝업을 노출할 때 생성되는 TCF 규격에 맞는 파일을 활용하면 서드파티 동의 관리 플랫폼(CMP) 과 중복으로 동의 배너 UI를 노출하지 않도록 설정할 수 있습니다.

Analytics.showConsentModeIfRequire()를 호출 할 때 checkCmp 파라미터가 true인 경우, TCF 규격에 맞게 저장된 파일이 있다면 해당 파일을 읽어 파일에 있는 업체는 동의 설정한 것으로 간주하게 됩니다. checkCmp 파라미터 기본값은 true입니다.

예를 들어, Adiz 를 사용할 경우 Google AdMob 콘솔에 접속하여 GDPR 메시지를 작성한 후, Adiz를 초기화해볼 수 있습니다.

CMP에서 동의 배너를 중복하여 노출하지 않으려면 아래와 같은 순서로 파트너 설정을 진행합니다. 설정에 앞서 동의를 받아야 하는 업체를 파트너로 설정하세요. 설정에 대한 자세한 사항은 HIVE ADIZ > GDPR 메시지 작성를 참고하세요.

  1. 좌측 메뉴에서 개인 정보 보호 및 메시지를 클릭합니다.
  2. 동의 관리 솔루션 > 유럽 규정 메뉴에서 'GDPR' 설정을 클릭합니다. 이후 메시지를 입력하고, 파트너사를 설정할 수 있는 페이지로 이동합니다.
  3. 광고 파트너 검토 > 맞춤 광고 파트너 항목에서 수정 버튼을 클릭합니다. 이후, 광고 파트너 목록을 확인하고 필요한 파트너를 선택하도록 수정할 수 있습니다.
  4. 동의를 받아야 하는 업체명을 확인하여 체크합니다. (파트너 목록에서는 검색 기능을 제공하지 않으므로 Ctrl+F로 검색하시면 편리합니다.) - AppsFlyer 동의 필요 → Appsflyer 체크 - Adjust 동의 필요 → Adjust GmbH 체크 - Singular 동의 필요 → Singular Labs Inc. 체크
    ※Google은 자동으로 선택되어 있습니다.
    ※Airbridge는 현재 파트너 목록에 없습니다.
  5. 저장 후, 선택한 파트너사가 목록에 노출되는 것을 확인할 수 있습니다. <

Hive SDK 애널리틱스 동의 배너 노출 설정하기

Hive SDK 개발 환경에서 애널리틱스의 동의 배너 노출을 설정하는 방법을 설명합니다.

Hive SDK Unity

  1. Unity 프로젝트 상단 메뉴의 Hive > Hive Dependencies에서 Hive Dependencies 창을 불러옵니다.
  2. 아래와 같이 Analytics Consent-Mode 옵션을 체크 및 저장(Save)하여 활성화합니다.

Hive SDK Android Native

App 수준의 build.gradle 에서 'Analytics Consent-Mode' 라이브러리를 선언합니다.


implementation "com.com2us.android.hive:hive-analytics-consent-mode:${HIVE_SDK_VERSION}"    // BoM을 사용하지 않을 경우 HiveSDK 버전 입력

Hive SDK iOS Native

Podfile에서 'Analytics Consent-Mode' 프레임워크를 선언합니다.


pod 'HiveAnalyticsConsentMode', '${HIVE_SDK_VERSION}'       # HiveSDK 버전 입력