iOS: 禁用/移除 FirebaseAnalytics

27

我从CocoaPod更新了'Google/Analytics',得到了FirebaseAnalytics。

之后,每次运行项目时,FirebaseAnalytics会产生许多错误日志。

目前我不使用这个库,想要将其移除。不幸的是,我找不到任何方法来禁用/移除它。

以下是Podfile的配置:

target 'myApp' do
    inhibit_all_warnings!
    use_frameworks!
    pod 'Google/Analytics'
end

控制台日志:
<FIRAnalytics/DEBUG> Debug mode is on
<FIRAnalytics/INFO> Firebase Analytics v.3200000 started
<FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see 'https://developer.apple.com/library/ios/recipes/xcode_help-scheme_editor/Articles/SchemeRun.html')
<FIRAnalytics/DEBUG> Debug logging enabled
<FIRAnalytics/DEBUG> Firebase Analytics is monitoring the network status
<FIRAnalytics/DEBUG> Uploading data. Host: https://play.googleapis.com/log
<FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
<FIRAnalytics/INFO> Firebase Analytics disabled
...
<FIRAnalytics/DEBUG> Network status has changed. code, status: 2, Connected
<FIRAnalytics/DEBUG> Network status has changed. code, status: 2, Connected
<FIRAnalytics/DEBUG> Received SSL challenge for host. Host: https://play.googleapis.com/log
<FIRAnalytics/DEBUG> Cancelling authentication challenge for host. Host: https://play.googleapis.com/log
<FIRAnalytics/ERROR> Encounter network error. Error: Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=https://play.googleapis.com/log, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://play.googleapis.com/log}
...

更新: 我还尝试在 Info.plist 中添加 FirebaseAppDelegateProxyEnabled = false,但也没有起作用。

enter image description here

5个回答

33
为了禁用 Firebase Analytics 在您的应用中收集数据,请参见此处的说明。
简而言之,要临时禁用,请在 GoogleServices-Info.plist 文件中将 FIREBASE_ANALYTICS_COLLECTION_ENABLED 设置为 NO。要永久禁用,请在同一 plist 文件中将 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 设置为 YES

我昨天实现了这篇文章,但是 Firebase Analytics 被禁用了(在控制台日志中显示)。但错误一直无限地出现。但今天它消失了。太奇怪了。 顺便说一句,你的答案帮助我更了解如何禁用 FA。它起作用了! - nahung89
5
将我的Info.plist中的FIREBASE_ANALYTICS_ENABLED设置为“NO”似乎没有任何效果。 我在控制台仍然会看到<FIRAnalytics/INFO> Firebase Analytics enabled。我一定漏掉了什么... - pejalo
1
指示已根据此讨论进行了更新。 - pejalo
如果我禁用Firebase,这会对Google Analytics产生影响吗? - Ne AS
1
注意史蒂夫 - 目前文档说明在 Info.plist 中进行操作,但不清楚是否也需要在 GoogleServices-Info.plist 中进行。请澄清! - Fattie

14

2018 年

在 2018 年,您的 Info.plist 将会有以下类似的条目:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key>
<string>NO</string>
<key>FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED</key>
<string>YES</string>
<key>FirebaseScreenReportingEnabled</key>
<false/>

看起来在 Info.plist 文件中,而不是 GoogleServices-Info.plist。


6
我最近遇到了类似的问题。我正在使用 Google Analytics,但不需要 Firebase Analytics,而根据文档,如果你遵循 文档,Firebase Analytics会被默认安装。在搜索 podspecs 后,我发现 Google/Analytics subspec 依赖于 Google/Core。而 core subspec 又依赖于 FirebaseAnalytics,这就是为什么它会被安装的原因。
然而,我注意到 Analytics subspec 也依赖于 GoogleAnalytics cocoapods。
所以,我将我的 Podfile 改成了:
target 'myApp' do
    inhibit_all_warnings!
    use_frameworks!
    pod 'Google/Analytics'
end

转换为:

target 'myApp' do
    inhibit_all_warnings!
    use_frameworks!
    pod 'GoogleAnalytics'
end

因此,Google/Analytics.h 大伞头文件不再可用,您需要手动包含正确的头文件或创建自己的大伞头文件,其中包含以下内容:
#import "GAI.h"
#import "GAIDictionaryBuilder.h"
#import "GAIEcommerceFields.h"
#import "GAIEcommerceProduct.h"
#import "GAIEcommerceProductAction.h"
#import "GAIEcommercePromotion.h"
#import "GAIFields.h"
#import "GAILogger.h"
#import "GAITrackedViewController.h"
#import "GAITracker.h"

如果您正在进行Swift项目,您需要将这些文件添加到您的桥接头文件中,以替换伞形头文件。
在我看来,这是不安装FirebaseAnalytics cocoapod的小代价。
更新
尽管Google的文档尚未更新,但他们的podspec现在告诉您直接使用GoogleAnalytics pod。

完美的解决方案!这甚至从我的构建中排除了Firebase库。感谢帮我摆脱Firebase! - Fraser
顺便说一下,我还需要 #import <GoogleAnalytics/GAIFields.h> - Fraser
感谢@Fraser,我已更新以包含有关标头的更多信息。 - allenh

1

这些日志实际上并不来自 Firebase Analytics,而是来自 Firebase Core SDK(根据它发送的 URL)。因此,禁用 Firebase Analytics 将无法消除这些日志。我猜测设备网络存在问题,导致来自 Firebase SDK 的请求被取消。


长城防火墙 - ruandao
啊,所以对play.googleapis.com的调用来自Firebase Core SDK库? - albert c braun

1

将Android平台设置为true以启用Google Analytics

<meta-data
    android:name="firebase_analytics_collection_enabled"
    android:value="true" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接