Google Analytics(分析)提供了一些功能,您可以使用这些功能控制 Analytics 数据的收集和使用。
停用 Analytics 数据收集
在某些情况下,您可能出于某些原因(比如要获得最终用户同意或履行法律义务),需要暂时或永久停用 Analytics 数据收集。Google Analytics(分析)提供了多个用于暂时或永久停用 Analytics 数据收集的选项。您可以组合使用这些选项以应对多种使用场景。
暂时停用数据收集
如果您出于某些原因(例如为了在收集数据前征得最终用户的同意)希望暂时停用 Analytics 数据收集功能,可以在应用的 Info.plist
文件中,将 FIREBASE_ANALYTICS_COLLECTION_ENABLED
的值设置为 NO
(布尔值)。例如,在源 XML 中查看:
<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key>
<false/>
如需重新启用数据收集功能(例如在最终用户表示同意之后),请调用 Analytics
的 setAnalyticsCollectionEnabled
实例方法。例如:
Swift
Analytics.setAnalyticsCollectionEnabled(true)
Objective-C
[FIRAnalytics setAnalyticsCollectionEnabled:YES];
如果您因任何原因需要再次暂停数据收集,则可调用
Swift
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.plist
中 FIREBASE_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
Analytics.setUserProperty("true", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
Objective-C
[FIRAnalytics setUserPropertyString:@"YES" forName:kFIRUserPropertyAllowAdPersonalizationSignals];
如果您已选择暂时停用 Analytics 数据收集(例如,在最终用户同意之前停用),并且您希望在为用户重新启用 Analytics 数据收集时控制个性化广告功能,请确保您为指定此设置进行的调用先于为重新启用 Analytics 数据收集进行的调用。例如:
Swift
Analytics.setUserProperty(..., forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
Analytics.setAnalyticsCollectionEnabled(true)
Objective-C
[FIRAnalytics setUserPropertyString:... forName:kFIRUserPropertyAllowAdPersonalizationSignals];
[FIRAnalytics setAnalyticsCollectionEnabled:YES];
确认您的设置
当您已通过上面定义的某种机制为用户停用广告个性化信号时,从该用户的设备记录的后续事件捆绑包将包含名为 non_personalized_ads
的用户属性(其值为 1),以指明该捆绑包中的事件不适用于个性化广告。停用个性化广告不会影响将数据用于衡量目的,包括报告和归因。
查看您的配置更改
对 Google Analytics(分析)设置进行更改后,SDK 就会下载更改的内容。该过程既快速又无缝,因此您可以快速测试您的更改。当您在 Analytics 中进行更改时,可能需要几分钟时间才能在应用中完成部署。如果您的应用已发布,则完整的部署过程最多可能需要一个小时才能完成。