获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

配置 Analytics 数据收集和使用

Google Analytics 提供的功能允许您控制 Analytics 数据的收集和使用。

禁用 Analytics 数据收集

在某些情况下,您可能希望暂时或永久禁用 Google Analytics(分析)数据的收集,例如收集最终用户的同意或履行法律义务。 Google Analytics 提供了多个选项来禁用和停用 Analytics 收集。一起使用,它们支持许多典型的用例。

暂时禁用收集

如果您希望暂时禁用 Analytics 收集,例如在收集数据之前获得最终用户的同意,您可以在应用的Info.plist文件FIREBASE_ANALYTICS_COLLECTION_ENABLED的值设置为NO (布尔值)。例如,在源 XML 中查看:

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

要重新启用收集,例如在最终用户提供同意后,请调用AnalyticssetAnalyticsCollectionEnabled实例方法。例如:

迅速

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

Objective-C

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

如果您因任何原因需要再次暂停收集,您可以致电

迅速

注意:此 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 收集

如果您通过 CocoaPods 通过将pod 'Firebase/Analytics'添加到应用的 Podfile 来安装 Firebase,并希望在您的 Apple 应用中禁用 IDFA(设备的广告标识符)收集,请确保您的应用中不包含 AdSupport 框架。

要安装没有任何 IDFA 收集功能的 Firebase,请使用以下子规范代替pod 'Firebase/Analytics'

pod 'Firebase/AnalyticsWithoutAdIdSupport'

在 Apple 的文档中了解有关 IDFA 的更多信息:

禁用 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方法,如下所示:

迅速

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

Objective-C

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

如果您已选择暂时禁用分析收集(例如,直到最终用户提供同意),并且您希望在为用户重新启用分析收集时控制个性化广告功能,请确保您在调用指定此设置之前调用以重新启用分析收集。例如:

迅速

注意:此 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 中进行更改时,可能需要几分钟才能在您的应用中进行部署。如果您的应用程序已上线,则完整的部署过程最多可能需要一小时才能完成。