web-dev-qa-db-fra.com

Désactivez complètement Firebase / Analytics pour arrêter le spam de la console au démarrage de l'application

J'ai installé Google/SignIn cocoapod dans mon application (dont j'ai besoin pour prendre en charge GoogleDrive), mais cela dépend de Google/Core qui dépend de FirebaseAnalytics. Je ne veux ni n'ai besoin de FirebaseAnalytics.

FirebaseAnalytics spam la console développeur avec 8 lignes de sortie lorsque notre application démarre:

2017-06-07 18:07:19.612994+0100 son[2909:877661] [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://gooX.gl/9vSsPb
2017-06-07 18:07:19.613 son[2909] <Warning> [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://gooX.gl/9vSsPb
2017-06-07 18:07:19.613896+0100 son[2909:877661] [Firebase/Analytics][I-ACS023007] Firebase Analytics v.3900000 started
2017-06-07 18:07:19.614 son[2909] <Notice> [Firebase/Analytics][I-ACS023007] Firebase Analytics v.3900000 started
2017-06-07 18:07:19.614525+0100 son[2909:877661] [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://gooX.gl/RfcP7r)
2017-06-07 18:07:19.614 son[2909] <Notice> [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://gooX.gl/RfcP7r)
2017-06-07 18:07:19.622560+0100 son[2909:877662] [Firebase/Analytics][I-ACS023013] Firebase Analytics disabled
2017-06-07 18:07:19.623 son[2909] <Notice> [Firebase/Analytics][I-ACS023013] Firebase Analytics disabled

(J'ai dû ajouter X aux URL dans la sortie ci-dessus pour surmonter le bloqueur de raccourcisseur d'URL de stackoverflow.)

J'ai essayé de définir FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED sur YES dans mon Info.plist, qui a supprimé 2 lignes, mais a ajouté 2 autres lignes pour me dire que Analytics est désactivé (FFS!).

Cette sortie indésirable rend difficile pour nos développeurs de voir toute sortie de console qui est réellement importante. Comment puis-je le désactiver?

(À défaut, une suggestion sur la façon de le faire sortir chaque ligne une seule fois serait vraiment la bienvenue.)

16
JosephH

À ma connaissance, ces deux lignes:

[[FIRConfiguration sharedInstance] setLoggerLevel:FIRLoggerLevelMin];
[[FIRAnalyticsConfiguration sharedInstance] setAnalyticsCollectionEnabled:NO];

placé très tôt dans le délégué de l'application didFinishLaunchingWithOptions: désactivera complètement l'analyse FireBase, y compris l'arrêt de toutes les sorties de la console.

J'ai également découvert depuis que le Google/SignIn cocoapod est obsolète - celui que nous recommandons d'utiliser est GoogleSignIn (c'est-à-dire pas de '/'). Si vous utilisez GoogleSignIn, cela ne dépend pas de Firebase Analytics, donc le problème d'origine disparaît. Maintenant, j'ai le support de Google Drive dans mon application et je n'ai pas Firebase Analytics!

6
JosephH

Vous pouvez trouver cela enterré dans la sortie:

<Notice> [Firebase/Analytics][I-ACS023008] To enable debug logging
 set the following application argument: -FIRAnalyticsDebugEnabled

La désactivation est l'opposé - définissez l'argument: -noFIRAnalyticsDebugEnabled:

enter image description here

De plus, vous pouvez contrôler le niveau de journalisation Firebase par défaut avec la méthode setLoggerLevel dans FIRConfiguration. Par exemple, pour désactiver toute la journalisation Firebase:

  [[FIRConfiguration sharedInstance] setLoggerLevel:FIRLoggerLevelMin];
  [FIRApp configure];

ou en Swift:

FirebaseConfiguration.shared.setLoggerLevel(FirebaseLoggerLevel.min)
FirebaseApp.configure()

Plus de détails dans l'implémentation de FIRLogger ici

22
Paul Beusterien

Swift 4.0:

FirebaseConfiguration.shared.setLoggerLevel(.min) FirebaseConfiguration.shared.analyticsConfiguration.setAnalyticsCollectionEnabled(false)

2
drfalcoew