为应用设置意见征求模式

本页面中的内容面向在应用中使用 Google Analytics for Firebase SDK 并希望集成意见征求模式的开发者。如需了解关于意见征求模式的基本信息,请参阅意见征求模式概览

通过 Google Analytics 提供的意见征求模式,您可以根据用户的同意情况来调整 SDK 的行为方式。您可以采用基本方式或高级方式实现意见征求模式。如果您不确定是实现基本意见征求模式还是高级意见征求模式,请详细了解基本意见征求模式与高级意见征求模式,并查看贵公司的相关准则。

准备工作

您需要先实现以下两项内容,然后才能管理用户意见征求模式:

  • Google Analytics for Firebase SDK
  • 一个用于获取用户同意情况的意见征求设置横幅

若要设置意见征求模式,您需要执行以下操作:

  1. 设置默认同意情况

默认情况下,未设置任何意见征求模式值。若要为应用设置默认同意情况,请执行以下操作:

  1. 打开您应用的 info.plist 文件。
  2. 添加意见征求模式键值对。键表明用户意见征求类型,而值表明用户同意情况。值可以是 true(意味着用户选择同意),也可以是 false(意味着用户选择拒绝)。

    根据针对欧洲经济区 (EEA) 境内流量的意见征求模式更新,ad_user_dataad_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
  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 方法设置的值也会保持不变,并覆盖默认设置。即使用户关闭并重新打开应用,该值也会保持为所设置的状态,直到再次调用 setConsentsetConsent 仅更新您指定的参数。

如果用户撤销之前就是否同意使用 Google Analytics 或 Google Ads 存储所作出的选择,Google Analytics 将删除所有用户属性,包括就是否同意使用 ad_personalization 所作出的选择。若要保留用户就是否同意使用广告个性化所作出的选择,请使用 setConsent (Swift | Obj-C)恢复之前针对广告个性化设置的值。

下面的示例显示了将不同的意见征求值更新为 grantedsetConsent 方法:

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) 境内流量的意见征求模式更新

除了 Google Ads 存储或 Google Analytics 存储对应的参数之外,意见征求模式用户还需要发送两个新参数:

  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

    例如,如果已启用 Google Ads 存储,您会看到以下日志消息:

    ad_storage is granted.