web-dev-qa-db-ja.com

FirebaseAnalyticsを無効化/削除する方法

CocoaPodから「Google/Analytics」を更新し、FirebaseAnalyticsを取得します。

その後、プロジェクトを実行するたびに、FirebaseAnalyticsは多くのエラーログを記録します。

現在、このライブラリは使用せず、削除したいです。残念ながら、Podから無効化/削除する方法は見つかりません。

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}
...

UPDATE:FirebaseAppDelegateProxyEnabled = falseをInfo.plistに追加しようとしましたが、どちらも機能しません。

enter image description here

14
nahung89

アプリでFirebase Analyticsによるデータの収集を無効にするには、手順 here を参照してください。

要約すると、一時的に無効にするには、FIREBASE_ANALYTICS_COLLECTION_ENABLEDファイルでGoogleServices-Info.plistNOに設定します。永続的に無効にするには、同じplistファイルでFIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDYESに設定します。

19
Steve Ganem

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にあるようです[〜#〜] not [〜#〜] GoogleServices-Info.plist。

8
Fattie

私は最近、同様の問題に遭遇しました。 Googleアナリティクスを使用していますが、Firebaseアナリティクスは必要ありません。Firebaseアナリティクスは、 docs に従うとデフォルトでインストールされます。ポッドスペックを検索した後。 Google/AnalyticsサブスペックはGoogle/Coreに依存していることがわかりました。 coreサブスペックはFirebaseAnalyticsに依存するため、インストールされます。

ただし、Analytics副仕様も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のドキュメントは更新されていませんが、 podspecGoogleAnalyticsポッドを直接使用するように指示するようになりました

5
allenh

これらのログは、実際にはFirebase Analyticsからではなく、Firebase Core SDK(送信先のURLに基​​づく)からのものです。したがって、Firebase Analyticsを無効にしても、これらのログは削除されません。 Firebase SDKからのリクエストがキャンセルされたというデバイスネットワークの問題があったと思います。

1
adbitx