web-dev-qa-db-fra.com

Comment désactiver/supprimer FirebaseAnalytics

Je mets à jour "Google/Analytics" de CocoaPod et récupère FirebaseAnalytics.

Après cela, chaque fois que j'exécute un projet, FirebaseAnalytics génère de nombreux enregistrements d'erreurs.

Actuellement, je n'utilise pas cette bibliothèque et je veux la supprimer. Malheureusement, je ne trouve aucun moyen de le désactiver/de le retirer de Pod.

Voici la configuration de Podfile

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

Journal de la console:

<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: J'essaie également d'ajouter FirebaseAppDelegateProxyEnabled = false dans Info.plist mais cela ne fonctionne pas non plus.

 enter image description here

14
nahung89

Pour désactiver la collecte de données par Firebase Analytics dans votre application, consultez les instructions ici .

En résumé, pour désactiver temporairement, définissez FIREBASE_ANALYTICS_COLLECTION_ENABLED sur NO dans le fichier GoogleServices-Info.plist. Pour désactiver définitivement, définissez FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED sur YES dans le même fichier plist.

18
Steve Ganem

Pour 2018

Pour 2018, votre info.plist aura des entrées comme celle-ci:

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

Il semble que ce soit dans Info.plist,NOTGoogleServices-Info.plist.

6
Fattie

J'ai récemment rencontré un problème similaire. J'utilise Google Analytics, mais je ne souhaite pas ou n'ai pas besoin de l'analyse Firebase, qui est installée par défaut si vous suivez le docs . Après avoir cherché dans les podspecs. J'ai trouvé que le Google/Analytics subspec a une dépendance sur Google/Core. La sous-espèce core dépend quant à elle de la variable FirebaseAnalytics, ce qui explique pourquoi elle est installée.

J'ai toutefois remarqué que la sous-espèce Analytics dépend également des cocoapodes GoogleAnalytics.

J'ai donc changé mon Podfile de:

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

Pour ça:

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

Par conséquent, l'en-tête de parapluie Google/Analytics.h n'est plus disponible et vous devez inclure les en-têtes appropriés manuellement ou créer votre propre en-tête de parapluie avec les éléments suivants:

#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"

Si vous faites cela dans un projet Swift, vous devrez ajouter ces fichiers à votre en-tête bridging à la place de l'en-tête parapluie.

À mon avis, c'est un petit prix à payer pour ne pas être obligé d'installer le cocoapod FirebaseAnalytics.

Mettre à jour

Bien que les documents de Google n'aient pas été mis à jour, leur podspec vous indique maintenant d'utiliser directement le module GoogleAnalytics

5
allenh

Ces journaux ne proviennent pas réellement de Firebase Analytics, mais du SDK de Firebase Core (basé sur l'URL à laquelle il a été envoyé). Par conséquent, la désactivation de Firebase Analytics n'éliminera pas ces journaux. J'imagine qu'il y a un problème avec le réseau de périphériques à l'annulation des demandes du SDK Firebase.

1
adbitx