本頁內容適用於在應用程式中使用 Google Analytics for Firebase SDK,並想整合同意聲明模式的開發人員。如需同意聲明模式簡介,請參閱「同意聲明模式總覽」一文。
Google Analytics (分析) 提供同意聲明模式,可根據使用者的同意聲明狀態調整 SDK 的行為。您可以透過基本或進階的方式導入同意聲明模式。如果不確定該採用基本或進階同意聲明模式,請進一步瞭解基本與進階同意聲明模式,並確認自己的公司準則。
事前準備
您需要先導入下列項目,才能管理使用者同意聲明:
- Google Analytics for Firebase SDK
用來擷取使用者同意聲明的同意聲明設定橫幅
設定同意聲明模式
如要設定同意聲明模式,您必須:
- 使用者同意前:暫時停用 Analytics (分析) 收集功能。
- 設定預設同意聲明狀態。
- 根據使用者與同意聲明設定的互動來更新同意聲明狀態。
- 重新啟用 Analytics (分析) 收集功能。
暫時停用 Analytics (分析) 收集功能
同意聲明模式的基本導入是指在使用者同意前,禁止 Google Analytics for Firebase SDK 載入。
如要暫時停用 Analytics (分析) 收集功能,請在應用程式的Info.plist
檔案中將 FIREBASE_ANALYTICS_COLLECTION_ENABLED
的值設為 false
(布林值)。例如,在來源 XML 中檢視:
<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key><false/>
設定預設同意聲明狀態
根據預設,系統不會設定同意聲明模式值。如要設定應用程式的預設同意聲明狀態,請按照下列步驟操作:
- 開啟應用程式的 info.plist 檔案。
新增同意聲明模式鍵/值組合。該鍵會說明同意聲明類型,值則代表同意聲明狀態。值可以是
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
儲存變更。接下來,導入更新同意聲明值的機制。
舉例來說,如要將所有參數預設為授予所有同意聲明,請按照以下步驟操作:
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
重新啟用 Analytics (分析) 收集功能
使用者提供同意聲明後,使用 setAnalyticsCollectionEnabled()
執行個體方法再次啟用 Analytics (分析) 收集功能。
setAnalyticsCollectionEnabled
方法設定的值會在應用程式執行期間保留,並覆寫應用程式 Info.plist
檔案中 firebase_analytics_collection_enabled
的值。設定 setAnalyticsCollectionEnabled
的值後,即使使用者關閉並重新開啟應用程式,Analytics (分析) 集合都會保持處於該狀態,直到再次呼叫 setAnalyticsCollectionEnabled
為止。
如要更新 Analytics (分析) 集合,請按照下列步驟操作:
Swift
swift
Analytics.setAnalyticsCollectionEnabled(true)
Objective-C
obj-c
[FIRAnalytics setAnalyticsCollectionEnabled:YES];
更新同意聲明
如要在應用程式啟動後更新同意聲明值,請呼叫 setConsent
方法。
setConsent
方法設定的值會覆寫預設設定,並保留在應用程式執行期間。即使使用者關閉再重新開啟應用程式,該值仍會保持這個狀態,直到再次呼叫 setConsent
為止。setConsent
只會更新您指定的參數。
如果使用者撤銷先前授予 Analytics (分析) 或廣告儲存空間的同意聲明,Google Analytics (分析) 會刪除所有使用者屬性,包括對
ad_personalization
的同意聲明。如要保留使用者對廣告個人化的同意聲明選項,請使用setConsent
(Swift | Obj-C)。
以下範例顯示 setConsent
方法,將不同的同意聲明值更新為 granted
:
Swift
Analytics.setConsent([
.analyticsStorage: .granted,
.adStorage: .granted,
.adUserData: .granted,
.adPersonalization: .granted,
])
Objective-C
[FIRAnalytics setConsent:@{
FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
FIRConsentTypeAdStorage : FIRConsentStatusGranted,
FIRConsentTypeAdUserData : FIRConsentStatusGranted,
FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
}];
如果使用者決定撤銷同意聲明,請務必據此更新同意聲明狀態,並使用 setAnalyticsCollectionEnabled()
再次停用 Analytics (分析) 資料收集功能。
升級至同意聲明模式第 2 版
為履行 Google 對保護隱私權數位廣告生態的承諾,我們加強落實歐盟地區使用者同意授權政策。
進一步瞭解 Google 的「歐洲經濟區 (EEA) 流量同意聲明模式更新」一文。
除了廣告儲存和數據分析資料外,同意聲明模式使用者還需要傳送兩個新參數:
更新應用程式的 info.plist,在其中加入下列內容:
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/> <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
更新同意聲明呼叫,加入廣告使用者資料和廣告個人化的參數:
Swift
Analytics.setConsent([ .analyticsStorage: .granted, .adStorage: .granted, .adUserData: .granted, .adPersonalization: .granted, ])
Objective-C
[FIRAnalytics setConsent:@{ FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted, FIRConsentTypeAdStorage : FIRConsentStatusGranted, FIRConsentTypeAdUserData : FIRConsentStatusGranted, FIRConsentTypeAdPersonalization : FIRConsentStatusGranted, }];
確認同意聲明設定
您可以查看應用程式的 Xcode 偵錯主控台,確認同意聲明設定是否正常運作。
請按照下列步驟操作:
- 在裝置上啟用詳細記錄。
在 Xcode 偵錯主控台中,找出:
ad_storage
analytics_storage
ad_user_data
ad_personalization
例如,若廣告儲存功能已啟用,您就會看到以下訊息:
ad_storage is granted.