web-dev-qa-db-fra.com

Comment passer de Google-Analytics à Firebase-Analytics?

Contexte

Ces derniers mois, Google a publié une nouvelle alternative Analytics intitulée " Firebase Analytics ".

Le problème

Comme l'application dispose déjà de Google-Analytics, je trouve des obstacles que je ne vois pas comment gérer au mieux.

Questions

  1. Auparavant, la fonction "newTracker" avait besoin d'un identifiant de propriété. Maintenant je ne le vois pas. Est-ce que cela signifie qu'il n'en a pas besoin?

  2. Auparavant, "enableAdvertisingIdCollection" était également disponible pour collecter des informations sur les annonces. Je ne le trouve pas dans les nouvelles API. Est-il collecté automatiquement?

  3. "setDryRun" était disponible pour désactiver l'envoi des données aux serveurs, et maintenant je ne le vois pas. Est-ce que cela signifie que c'est automatiquement ainsi pour les versions de débogage de l'application? Toutes les fonctions écrivent-elles dans les journaux?

  4. Auparavant, je pouvais suivre un "écran":

    public void setScreenName(String name) {
        mGoogleAnalyticsTracker.setScreenName(name);
        mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build());
    }
    

    Maintenant, je ne le vois pas, mais comme je l'ai lu, je pense que c'est automatique, donc il envoie quand même des données sur le cycle de vie de l'activité. Est-ce vrai?

  5. Probablement la chose la plus importante: auparavant, je pouvais suivre en utilisant la catégorie, l'action, le libellé et la valeur:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder()
                .setCategory(category).setAction(action)
                .setLabel(label).setValue(value).build());
    }
    

    et maintenant je vois une manière complètement différente de suivre les événements ("événements personnalisés"), en utilisant bundles . Exemple:

    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
    

    Comment ça marche? Comment est-il affiché dans le site Web de Firebase Analytics ? Je suppose que le premier paramètre de logEvent pourrait se comporter comme le paramètre de catégorie de Google-Analytics, mais que puis-je/dois-je faire pour le reste? Selon les docs, ça devrait aller:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        Bundle bundle = new Bundle();
        bundle.putString("action", action);
        bundle.putString("label", label);
        bundle.putLong("value", value);
        mFirebaseAnalytics.logEvent(category, bundle);
    }
    
  6. Quels événements sont réellement suivis automatiquement (je demande ceci parce que certains disent que je ne devrais pas utiliser, ici )? Incluent-ils les achats? app-invite? les publicités? Où puis-je les voir sur le site Web de la console?

  7. À propos des journaux, il est dit que le nouveau SDK le fait par:

    Vous pouvez activer la journalisation détaillée avec une série de commandes adb:

    adb shell setprop log.tag.FA VERBOSE adb shell setprop log.tag.FA-SVC VERBOSE adb logcat -v temps -s FA FA-SVC

    Que font ces commandes? Comment puis-je le désactiver? J'ai remarqué qu'il est même indiqué dans la version finale de l'application ...

  8. Le nouveau SDK est-il censé remplacer Google-Analytics? Est-il suggéré d'y aller pleinement? Google Analytics aura-t-il des mises à jour?

72
android developer

Beaucoup de questions sont regroupées alors je vais essayer de répondre brièvement à la plupart d'entre elles:

  1. Les rapports Google Analytics sur les identifiants de tracker, les rapports Firebase Analytics sur les applications. Il n'y a qu'un seul identifiant dans l'application définie dans votre google-services.json. L'ID est traduit en ressource chaîne par le plug-in de services Google sous le nom "google_app_id". Tous les événements de l'application sont signalés à cet identifiant unique.
  2. Firebase Analytics signale AdId automatiquement. Vous n'avez pas besoin de l'activer.
  3. Il n'y a pas de fonction dryRun. Vous pouvez utiliser google-services.json pendant le développement, filtrer la version de développement à l'aide de la version de l'application ou ajouter une propriété à l'utilisateur pour marquer les instances d'application utilisées pour le développement.
  4. Vous pouvez signaler des écrans avec

    Bundle params = new Bundle();
    params.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "screen");
    params.putString(FirebaseAnalytics.Param.ITEM_NAME, "screen name");
    firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, params);
    
  5. Vous pouvez enregistrer un événement personnalisé avec les mêmes paramètres

    Bundle params = new Bundle();
    params.putString("category", category);
    params.putString("action", action);
    params.putString("label", label);
    params.putLong("value", value);
    firebaseAnalytics.logEvent("ga_event", params);
    

    N'utilisez pas la catégorie comme nom d'événement, sauf si vous avez très peu de catégories que vous souhaitez suivre. Firebase Analytics prend en charge jusqu'à 500 noms d'événements. Si vous enregistrez davantage que cela, certaines de vos données seront ignorées.

  6. Il existe une liste de noms d'événements réservés au début de classe FirebaseAnalytics.Event . Il représente approximativement les événements automatiques signalés.

  7. Firebase Analytics a la journalisation de débogage désactivée par défaut. Il enregistre uniquement les erreurs et les avertissements. Si vous n'activez pas la journalisation de débogage et que votre application est correctement configurée, seules 2 lignes sont consignées au démarrage de l'application avec des instructions sur la manière d'activer la journalisation de débogage. Il n'y a rien à désactiver en production et il n'y a pas d'équivalent à setLogLevel (ERROR) de Google Analytics. WARN est le niveau de journalisation par défaut. Vous ne pouvez activer la journalisation sur un périphérique individuel qu'en exécutant la commande adb sur le périphérique. Cela vous aide à éviter l'envoi d'applications en production avec la journalisation de débogage activée.

  8. Le kit de développement de logiciels Google Analytics pour Android et iOS n'est pas obsolète; il sera pris en charge et mis à jour dans un avenir prévisible. Vous n'avez pas besoin de vous en éloigner si vous avez déjà investi dans votre application et si répond à vos besoins.

48
djabi

Google Analytics est un service d’analyse Web freemium proposé par Google qui permet de suivre et de signaler le trafic sur le site Web . 1 Google a lancé le service en novembre. 2005 après l’acquisition d’Urchin. Firebase est un fournisseur de services dans le cloud et une base de données en tant que société de services basée à San Francisco, en Californie. La société fabrique un certain nombre de produits pour les développeurs de logiciels construisant des applications mobiles ou Web.

Comment passer de Google Analytics à Firebase Analytics?

Google Analytics (GA) et Firebase Analytics (FA), en dépit de leur nom commun, sont très différents à bien des égards. Alors que GA est un outil d'analyse polyvalent (et davantage orienté Web), Firebase a été conçu pour garder la mobilité à l'esprit: par conséquent, l'ensemble de fonctionnalités est différent entre les deux, avec quelques ajouts en FA et les choses qui manquent de GA.

Plus précisément, voici quelques points à noter lors de l'analyse de Firebase Analytics:

  • La vue en temps réel est manquante
  • Les événements sont disponibles après une période de 4 à 6 heures.
  • Le comportement (de GA) est manquant
  • Les audiences présentent un grand avantage de FA et, associées aux notifications, vous permettent de dialoguer avec un groupe d'utilisateurs spécifique.
  • Lors de l'utilisation du rapport d'incident Firebase, un public avec des utilisateurs ayant subi un incident est automatiquement créé.
  • L'analyse en entonnoir a beaucoup plus de sens que dans GA, puisque FA est basé sur des événements et non sur des vues à l'écran
  • Gratuit et illimité, sauf pour le nombre de types d'événements (limité à 500); pas de limite sur le volume d'événements pour chaque type
  • Certains événements sont consignés automatiquement (c'est-à-dire des sessions basées sur le cycle de vie de l'activité).
  • Empreinte de méthodes relativement faible, comparée au nombre de méthodes de GA
  • Facile à configurer, il n'y a pas de singleton à initialiser, il suffit d'inclure la dépendance de Gradle et de commencer à enregistrer les événements.
  • Console tout-en-un, si vous prévoyez d'utiliser d'autres services Firebase

Quant à savoir si l’on devrait envisager de passer de l’un à l’autre, ou s’il faut garder les deux en parallèle, la réponse est: cela dépend.

  • Si vous utilisiez abondamment GA auparavant, il est probable que certaines de ses fonctionnalités vous échapperaient si vous passiez complètement à FA.
  • Toutefois, s’il s’agit d’un nouveau départ pour votre projet, FA est beaucoup plus exposé à un environnement multiplateforme orienté mobile, vous pouvez donc le considérer comme votre propre outil d’analyse.

Par ailleurs, rappelez-vous que Firebase vient juste d'être lancé et que Google prévoit ajouter de nouvelles fonctionnalités dans les prochaines semaines (par exemple, un tableau de bord en temps réel).

Pour le tutoriel, vous pouvez trouver ici https://firebase.google.com/docs/analytics/Android/start/

12
Shubham Sharma