為應用程式設定同意聲明模式

本頁內容適用於在應用程式中使用 Google Analytics for Firebase SDK,並想整合同意聲明模式的開發人員。如需同意聲明模式簡介,請參閱「同意聲明模式總覽」一文。

Google Analytics (分析) 提供同意聲明模式,可根據使用者的同意聲明狀態調整 SDK 的行為。您可以透過基本或進階的方式導入同意聲明模式。如果不確定該採用基本或進階同意聲明模式,請進一步瞭解基本與進階同意聲明模式,並確認自己的公司準則。

事前準備

您需要先導入下列項目,才能管理使用者同意聲明:

  • Google Analytics for Firebase SDK
  • 用來擷取使用者同意聲明的同意聲明設定橫幅

如要設定同意聲明模式,您必須:

  1. 設定預設同意聲明狀態

根據預設,系統不會設定同意聲明模式值。如要設定應用程式的預設同意聲明狀態,請按照下列步驟操作:

  1. 開啟應用程式的 info.plist 檔案。
  2. 新增同意聲明模式鍵/值組合。該鍵會說明同意聲明類型,值則代表同意聲明狀態。值可以是 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
  3. 儲存變更。接下來,導入更新同意聲明值的機制。

舉例來說,如要將所有參數預設為授予所有同意聲明,請按照以下步驟操作:

<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/>

如要在應用程式啟動後更新同意聲明值,請呼叫 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,
}];

如果使用者決定撤銷同意聲明,請務必據此更新

為履行 Google 對保護隱私權數位廣告生態的承諾,我們加強落實歐盟地區使用者同意授權政策

進一步瞭解 Google 的「歐洲經濟區 (EEA) 流量同意聲明模式更新」一文。

除了廣告儲存和數據分析資料外,同意聲明模式使用者還需要傳送兩個新參數:

  1. 更新應用程式的 info.plist,在其中加入下列內容:

    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
    
  2. 更新同意聲明呼叫,加入廣告使用者資料和廣告個人化的參數:

    Swift

    Analytics.setConsent([
    .analyticsStorage: .granted,
    .adStorage: .granted,
    .adUserData: .granted,
    .adPersonalization: .granted,
    ])
    

    Objective-C

    [FIRAnalytics setConsent:@{
      FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdUserData : FIRConsentStatusGranted,
      FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
    }];
    

您可以查看應用程式的 Xcode 偵錯主控台,確認同意聲明設定是否正常運作。

請按照下列步驟操作:

  1. 在裝置上啟用詳細記錄
  2. 在 Xcode 偵錯主控台中,找出:

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

    例如,若廣告儲存功能已啟用,您就會看到以下訊息:

    ad_storage is granted.