本頁面適用於在應用程式中使用 Google Analytics for Firebase SDK,且想整合同意聲明模式的開發人員。如要瞭解同意聲明模式,請參閱「同意聲明模式總覽」。
Google Analytics 提供同意聲明模式,可根據使用者的同意聲明狀態調整 SDK 行為。您可以以基本或進階方式導入同意聲明模式。如果不確定應導入基本或進階同意聲明模式,可進一步瞭解基本和進階同意聲明模式,並參考貴公司的規範。
事前準備
您必須先實作以下項目,才能管理使用者同意聲明:
- Google Analytics for Firebase SDK
用於收集使用者同意聲明的同意聲明設定橫幅
設定同意聲明模式
如要設定同意聲明模式,您必須:
設定預設同意聲明狀態
系統不會預設任何同意聲明模式值。如要為應用程式設定預設同意聲明狀態,請按照下列步驟操作:
- 開啟應用程式的 AndroidManifest.xml 檔案。
新增同意聲明模式鍵/值組合。鍵會說明同意聲明類型,而值則代表同意聲明狀態。值可以是
true
,表示已授予同意聲明,或是false
,表示同意聲明遭到拒絕。根據《歐洲經濟區 (EEA) 流量同意聲明模式》更新,
ad_user_data
和ad_personalization
可以設為eu_consent_policy
值,這樣一來,使用者就無法在受到《歐盟地區使用者同意授權政策》規範的地區取得同意。設定下列欄位:
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" />
更新同意聲明
如要在應用程式啟動後更新同意聲明值,請呼叫 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