이 페이지는 앱에서 Firebase용 Google 애널리틱스 SDK를 사용하고 동의 모드를 통합하려는 개발자를 대상으로 합니다. 동의 모드에 대한 소개는 동의 모드 개요를 읽어보세요.
Google 애널리틱스에서는 사용자의 동의 상태에 따라 SDK의 동작을 조정할 수 있도록 동의 모드를 제공합니다. 사용 가능한 모든 매개변수의 동의 유형을 확인하세요.
시작하기 전에
사용자 동의를 관리하려면 먼저 다음을 구현해야 합니다.
- Firebase용 Google 애널리틱스 SDK
사용자 동의를 수집하기 위한 동의 설정 배너
동의 모드 설정하기
동의 모드를 설정하려면 다음 작업을 실행해야 합니다.
- 기본 동의 얻기
- 동의 설정과의 사용자 상호작용을 기반으로 동의 상태 업데이트
1단계: 기본 동의 설정
기본적으로 동의 모드 값이 설정되지 않습니다. 앱의 기본 동의 상태를 설정하는 방법은 다음과 같습니다.
- 앱의 AndroidManifest.xml 파일을 엽니다.
동의 모드 키-값 쌍을 추가합니다. 키는 동의 유형을 설명하고 값은 동의 상태를 나타냅니다. 값은 동의가 제공되었음을 의미하는
true
또는 동의가 거부되었음을 의미하는false
입니다. 다음을 설정합니다.google_analytics_default_allow_analytics_storage
google_analytics_default_allow_ad_storage
google_analytics_default_allow_ad_user_data
google_analytics_default_allow_ad_personalization_signals
변경사항을 저장합니다. 다음으로 동의 값을 업데이트하기 위한 메커니즘을 구현합니다.
예를 들어 기본적으로 모든 매개변수에 대한 모든 동의 권한 부여를 설정하려면 다음 단계를 따르세요.
<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />
2단계: 동의 업데이트
앱이 실행된 후 동의 값을 업데이트하려면 setConsent
메서드를 호출하세요.
setConsent
메서드에서 설정된 값은 가본 설정을 재정의하며 앱이 실행되는 동안 유지됩니다. 값은 setConsent
를 다시 호출할 때까지 해당 상태로 유지되며, 사용자가 앱을 닫았다가 다시 여는 경우에도 유지됩니다. setConsent
는 개발자가 지정하는 매개변수만 업데이트합니다.
사용자가 이전에 한 애널리틱스 또는 광고 저장에 대한 동의를 철회하면 Google 애널리틱스에서
ad personalization
에 대한 동의를 포함하여 모든 사용자 속성을 삭제합니다. 사용자의 광고 개인 최적화에 대한 동의 여부를 유지하려면setConsent
(Kotlin+KTX | Java) 를 사용하여 광고 개인 최적화의 이전 값을 복원하세요.
다음 예에서는 여러 동의 값을 granted
로 업데이트하는 setConsent
메서드를 보여줍니다.
Java
// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);
mFirebaseAnalytics.setConsent(consentMap);
Kotlin
Firebase.analytics.setConsent {
analyticsStorage(ConsentStatus.GRANTED)
adStorage(ConsentStatus.GRANTED)
adUserData(ConsentStatus.GRANTED)
adPersonalization(ConsentStatus.GRANTED)
}
동의 모드 v2로 업그레이드
개인 정보를 보호하는 디지털 광고 생태계에 대한 지속적인 약속의 일환으로 Google에서는 EU 사용자 동의 정책의 시행을 강화하고 있습니다.
동의 모드 사용자는 광고 저장 및 애널리틱스 저장 외에 새로운 매개변수 두 개를 전송해야 합니다.
앱의 AndroidManifest.xml을 다음을 포함하도록 업데이트합니다.
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" /> <meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />
광고 사용자 데이터 및 광고 개인 최적화에 대한 매개변수를 포함하도록 동의 호출을 업데이트합니다.
Java
// Set consent types. Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class); consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED); consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED); consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED); consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED); mFirebaseAnalytics.setConsent(consentMap);
Kotlin
Firebase.analytics.setConsent { analyticsStorage(ConsentStatus.GRANTED) adStorage(ConsentStatus.GRANTED) adUserData(ConsentStatus.GRANTED) adPersonalization(ConsentStatus.GRANTED) }
동의 설정 확인
앱의 로그 메시지를 보고 동의 설정이 의도대로 작동하는지 확인할 수 있습니다.
다음 단계를 따르세요.
- 기기에서 상세 로깅을 사용 설정합니다.
Android 스튜디오 Logcat에서
Setting consent
로 시작하는 로그 메시지를 찾습니다. 예를 들어 현재 저장이 사용 설정되어 있으며 다음과 같은 로그 메시지가 표시됩니다.Setting consent, ... AD_STORAGE=granted