本頁面適用於在應用程式中使用 Google Analytics for Firebase SDK,並想整合同意聲明模式的開發人員。如要瞭解同意聲明模式簡介,請參閱「同意聲明模式總覽」。
Google Analytics 提供同意聲明模式,可根據使用者的同意聲明狀態調整 SDK 行為。您可以基本或進階方式導入同意聲明模式。如果不確定要導入基本或進階同意聲明模式,請進一步瞭解基本與進階同意聲明模式,並查看貴公司的指南。
事前準備
如要管理使用者同意聲明,您必須先導入下列項目:
- Google Analytics for Firebase SDK
同意聲明設定橫幅,用於擷取使用者同意聲明
設定同意聲明模式
如要設定同意聲明模式,請完成下列事項:
設定預設同意聲明狀態
系統不會預設任何同意聲明模式值。如要為應用程式設定預設同意聲明狀態,請按照下列步驟操作:
- 開啟應用程式的 AndroidManifest.xml 檔案。
新增同意聲明模式鍵/值組合。鍵會說明同意聲明類型,值則會指出同意聲明狀態。值可以是
true(表示已授予同意聲明),也可以是false(表示已拒絕同意聲明)。根據歐洲經濟區流量同意聲明模式更新,
ad_user_data和ad_personalization可設為eu_consent_policy值,表示只有位於受《歐盟地區使用者同意授權政策》規範區域的使用者拒絕同意。設定下列欄位:
google_analytics_default_allow_analytics_storagegoogle_analytics_default_allow_ad_storagegoogle_analytics_default_allow_ad_user_datagoogle_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" />
更新同意聲明
如要在應用程式啟動後更新同意聲明值,請呼叫 setConsent 方法。
setConsent 方法設定的值會覆寫預設設定,並在應用程式執行期間保持不變。即使使用者關閉並重新開啟應用程式,值也會維持該狀態,直到再次呼叫 setConsent 為止。setConsent 只會更新您指定的參數。
如果使用者撤銷先前授予 Analytics 或廣告儲存空間的同意聲明,Google Analytics 會刪除所有使用者屬性,包括
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)
}
如果使用者決定撤銷同意聲明,請務必相應更新同意聲明狀態
升級至同意聲明模式第 2 版
為持續維護以隱私權為重的數位廣告生態,Google 將加強落實歐盟地區使用者同意授權政策。
進一步瞭解 Google 的歐洲經濟區流量同意聲明模式更新。
除了廣告儲存空間和數據分析儲存空間,同意聲明模式使用者還需要傳送兩項新參數:
更新應用程式的 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