配置 Analytics 数据收集和使用方式

Google Analytics(分析)提供了一些功能,您可以使用这些功能控制 Analytics 数据的收集和使用。

停用 Analytics 数据收集

在某些情况下,您可能出于某些原因(比如要获得最终用户同意或履行法律义务),需要暂时或永久停用 Analytics 数据收集。Google Analytics(分析)提供了多个用于暂时或永久停用 Analytics 数据收集的选项。您可以组合使用这些选项以应对多种使用场景。

暂时停用数据收集

如果您出于某些原因(例如为了在收集数据前征得最终用户的同意)希望暂时停用 Analytics 数据收集功能,可以在应用的 Info.plist 文件中,将 FIREBASE_ANALYTICS_COLLECTION_ENABLED 的值设置为 NO(布尔值)。例如,在源 XML 中查看:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key>
<false/>

如需重新启用数据收集功能(例如在最终用户表示同意之后),请调用 AnalyticssetAnalyticsCollectionEnabled 实例方法。例如:

Swift

注意:此 Firebase 产品不适用于 macOS 目标平台。
Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

注意:此 Firebase 产品不适用于 macOS 目标平台。
[FIRAnalytics setAnalyticsCollectionEnabled:YES];

如果您因任何原因需要再次暂停数据收集,则可调用

Swift

注意:此 Firebase 产品不适用于 macOS 目标平台。
Analytics.setAnalyticsCollectionEnabled(false)

Objective-C

[FIRAnalytics setAnalyticsCollectionEnabled:NO];

在您重新启用数据收集之前,该功能将始终处于暂停状态。即使应用多次执行,通过 setAnalyticsCollectionEnabled 方法设置的值也会保持不变,并覆盖应用的 Info.plist 文件中 FIREBASE_ANALYTICS_COLLECTION_ENABLED 的值。在您为 setAnalyticsCollectionEnabled 设置值后,Analytics 数据收集的状态将保持到 setAnalyticsCollectionEnabled 再次调用,即使用户关闭再重新打开应用也是如此。

永久停用数据收集

如果您需要在应用的某个版本中永久停用 Analytics 数据收集功能,请在应用的 Info.plist file 中将 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 设置为 YES(布尔值)。将 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 设置为 YES(布尔值)优先于应用的 Info.plistFIREBASE_ANALYTICS_COLLECTION_ENABLED 对应的任何值以及使用 setAnalyticsCollectionEnabled 设置的任何值。

如需重新启用数据收集,请从您的 Info.plist 中移除 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED。将 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 设置为 NO(布尔值)没有任何作用,所导致的行为与未在 Info.plist 文件中设置 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 时一样。

停用 IDFA 收集

如果您通过在应用的 Podfile 中添加 pod 'Firebase/Analytics' 的方式通过 CocoaPods 安装了 Firebase,并且想要在 Apple 应用中停用 IDFA(设备的广告标识符)收集,请确保您的应用中不包含 AdSupport 框架。

如需在未启用任何 IDFA 收集功能的情况下安装 Firebase,请使用以下子规范(而不是 pod 'Firebase/Analytics'):

pod 'Firebase/AnalyticsWithoutAdIdSupport'

如需详细了解 IDFA,请参阅 Apple 的文档:

停用 IDFV 收集

如果您希望在 Apple 应用中停用 IDFV(供应商标识符)收集,请在应用的 Info.plist 文件中将 GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED 的值设置为 NO(布尔值)。

配置 Analytics 数据的使用方式

停用个性化广告功能

如果您已将 Google Analytics(分析)项目与广告帐号相关联或以其他方式启用了广告集成,或已选择启用数据共享,那么您的 Analytics 数据可能可以用在个性化广告中。这意味着您可以使用收集的事件(例如 first_open)创建和部署受众群体名单来开展再营销,除非您指明此类数据不适用于个性化广告。

如需以编程方式控制是否应将用户的 Analytics 数据用于个性化广告,可在应用的 AndroidManifest.xml 文件中设置相应的默认行为,然后使用下述方法覆盖该默认行为。

如需设置默认的个性化广告行为,可在应用的 Info.plist 文件中将 GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS 的值设置为 NO(布尔值)。

通过 Google Analytics(分析)“媒体资源”设置中的广告个性化设置,您还可以控制从最终用户那里收集的数据是否可以用于广告个性化。

重新启用个性化广告功能

如需在运行时为用户重新启用个性化广告功能(例如在最终用户表示同意后),请使用如下所示的 setUserProperty 方法:

Swift

注意:此 Firebase 产品不适用于 macOS 目标平台。
Analytics.setUserProperty("true", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)

Objective-C

注意:此 Firebase 产品不适用于 macOS 目标平台。
[FIRAnalytics setUserPropertyString:@"YES" forName:kFIRUserPropertyAllowAdPersonalizationSignals];

如果您已选择暂时停用 Analytics 数据收集(例如,在最终用户同意之前停用),并且您希望在为用户重新启用 Analytics 数据收集时控制个性化广告功能,请确保您为指定此设置进行的调用先于为重新启用 Analytics 数据收集进行的调用。例如:

Swift

注意:此 Firebase 产品不适用于 macOS 目标平台。
Analytics.setUserProperty(..., forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

注意:此 Firebase 产品不适用于 macOS 目标平台。
[FIRAnalytics setUserPropertyString:... forName:kFIRUserPropertyAllowAdPersonalizationSignals];
[FIRAnalytics setAnalyticsCollectionEnabled:YES];

确认您的设置

当您已通过上面定义的某种机制为用户停用广告个性化信号时,从该用户的设备记录的后续事件捆绑包将包含名为 non_personalized_ads 的用户属性(其值为 1),以指明该捆绑包中的事件不适用于个性化广告。停用个性化广告不会影响将数据用于衡量目的,包括报告和归因。

查看您的配置更改

对 Google Analytics(分析)设置进行更改后,SDK 就会下载更改的内容。该过程既快速又无缝,因此您可以快速测试您的更改。当您在 Analytics 中进行更改时,可能需要几分钟时间才能在应用中完成部署。如果您的应用已发布,则完整的部署过程最多可能需要一个小时才能完成。