このページは、Firebase SDK 向け Google アナリティクスをアプリで使用し、同意モードを統合したいデベロッパーを対象としています。同意モードについては、同意モードの概要をご覧ください。
Google アナリティクスには、ユーザーの同意ステータスに基づいて SDK の動作を調整する「同意モード」が用意されています。利用可能なパラメータについては、同意タイプをご覧ください。
始める前に
ユーザーの同意を管理するには、次を実装する必要があります。
- Firebase SDK 向け Google アナリティクス
ユーザーの同意を得るための同意設定バナー
同意モードの設定
同意モードを設定するには、次を行う必要があります。
- デフォルトの同意を確立する。
- 同意設定に対するユーザー インタラクションに基づき、同意ステータスを更新する。
ステップ 1: デフォルトの同意状況を設定する
同意モードの値はデフォルトでは設定されていません。デフォルトの同意ステータスをアプリに設定する方法は次のとおりです。
- アプリの AndroidManifest.xml ファイルを開きます。
同意モードの Key-Value ペアを追加します。キーは同意タイプ、値は同意ステータスを示します。値は、同意が得られたことを意味する
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)、を使用して広告のパーソナライズの以前の値を復元します。
setConsent
メソッドを使って異なる同意ステータスの値を granted
に更新する例を次に示します。
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 ユーザーの同意ポリシーの適用を強化しています。
同意モードをお使いの場合は、広告およびアナリティクスへのデータ保存に加え、2 つの新しいパラメータを送信する必要があります。
アプリの 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 Studio の Logcat で、
Setting consent
で始まるログメッセージを探します。たとえば、広告のストレージが有効になっている場合、次のようなログ メッセージが表示されます。Setting consent, ... AD_STORAGE=granted