Comment passer de Google-Analytics à Firebase-Analytics?

85

Contexte

Ces derniers mois, Google a publié une nouvelle alternative à Analytics, appelé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" nécessitait un identifiant de propriété. Maintenant, je ne le vois pas. Cela signifie-t-il 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. Cela signifie-t-il que c'est automatiquement de cette façon 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 des 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é sur le site Web de Firebase Analytics ? Je suppose que je pourrais faire en sorte que le premier paramètre de logEvent se comporte comme le paramètre de catégorie de Google-Analytics, mais que puis-je / dois-je faire pour le reste? Selon la documentation, cela devrait être correct:

    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 en fait automatiquement suivis (je pose cette question car certains disent que je ne devrais pas utiliser ici )? Incluent-ils les achats? invitations d'application? 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 en:

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

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

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

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

développeur android
la source
1
Pourquoi voter pour la clôture? :(
développeur android
1
Remarque: j'ai fait des recherches sur Firebase Analytics et je viens de l'implémenter sur mon application native react. Il semble qu'il soit rebaptisé "Google Analytics pour Firebase" firebase.google.com/docs/analytics
moi
Google Analytics est-il obsolète pour le Web?
Ahmad Arslan
@AhmadArslan Je ne sais pas
Développeur Android

Réponses:

56

De nombreuses questions sont regroupées, je vais donc essayer de répondre brièvement à la plupart d'entre elles:

  1. Rapports Google Analytics sur les identifiants de suivi, 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 une ressource de chaîne par le plug-in google services sous le nom "google_app_id". Tous les événements de l'application sont signalés à cet identifiant unique.
  2. Firebase Analytics rapporte automatiquement AdId. Vous n'avez pas besoin de l'activer.
  3. Il n'y a pas de fonction dryRun. Vous pouvez soit utiliser google-services.json distinct pendant le développement, filtrer la version de développement à l'aide de la version de l'application, soit ajouter une propriété 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("xyz_event", params);
    

    Le préfixe "ga_" est réservé et vos analyses échoueront si vous l'utilisez. À la place, utilisez "xyz_" où xyz correspond aux initiales de votre entreprise, par exemple.

    N'utilisez pas la catégorie comme nom d'événement sauf si vous souhaitez suivre très peu de catégories. Firebase Analytics prend en charge jusqu'à 500 noms d'événements. Si vous consignez plus 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 la classe FirebaseAnalytics.Event . Il représente approximativement les événements automatiques signalés.

  7. La journalisation du débogage est désactivée par défaut dans Firebase Analytics. Il enregistre uniquement les erreurs et les avertissements. Si vous n'activez pas la journalisation du débogage et que votre application est correctement configurée, il n'y a que 2 lignes qui sont enregistrées lorsque l'application démarre avec des instructions sur la façon d'activer la journalisation du 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 que sur un appareil individuel en exécutant la commande adb sur l'appareil). Cela vous permet d'éviter l'envoi de l'application en production avec la journalisation du débogage activée.

  8. Le SDK Google Analytics pour Android et iOS n'est pas obsolète et 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 en l'utilisant dans votre application et qu'elle répond à vos besoins.

Djabi
la source
3
5. Il semble qu'il n'est pas encore possible d'utiliser des éléments de bundle personnalisés, selon ces articles: stackoverflow.com/a/37779048 , stackoverflow.com/a/37511858 . Dommage.
développeur android
1
Merci pour le commentaire. La valeur a été remplacée par long dans 5. Il n'y a pas encore de rapport automatique sur tous les paramètres, mais vous pouvez associer le compte à BigQuery et l'utiliser pour créer des rapports. BigQuery dispose d'un quota gratuit qui pourrait être tout ce dont vous avez besoin. Abotu 3. La valeur par défaut est le reporting. 4. Le rapport d'écran n'est pas automatique. Vous devez enregistrer l'événement lorsque vous affichez du contenu. 5. Si le rapport par défaut n'est pas suffisant, vous pouvez interroger les données dans BigQuery. Il contient les événements bruts tels que vous les avez enregistrés. 6. Vous devez ignorer app_uninstall. 7. Si vous activez la journalisation du débogage sur un périphérique, vous verrez tous les journaux.
djabi
1
8. C'est une question très large. Quelles caractéristiques particulières vous demandez-vous. Si Firebase Analytics est identique à Google Analytics, ce sera Google Analytics et non Firebase Analytics.
djabi
2
"Les préfixes" firebase_ "," google_ "et" ga_ "sont réservés et ne doivent pas être utilisés.": Firebase.google.com/docs/reference/cpp/group/parameter-names Ma suggestion au lieu de "ga_event" serait be "abc_event" où "abc" est un acronyme pour vous ou votre entreprise.
KRA2008
5
J'ai atterri ici car nous sommes maintenant en 2019 et Google abandonne bientôt GA au profit de FA, donc le déménagement est obligatoire. support.google.com/firebase/answer/9167112
Ryan
13

Google Analytics est un service d'analyse Web freemium proposé par Google qui suit et signale le trafic du site Web. 1 Google a lancé le service en novembre 2005 après l'acquisition d'Urchin. Firebase est un fournisseur de services cloud et backend en tant que société de services basée à San Francisco, en Californie. L'entreprise fabrique un certain nombre de produits pour les développeurs de logiciels qui créent des applications mobiles ou Web.

Comment passer de Google Analytics à Firebase Analytics?

Google Analytics (GA) et Firebase Analytics (FA), malgré leur nom commun, sont très différents à bien des égards. Alors que GA est un outil d'analyse à usage général (et plus orienté Web), Firebase a été conçu en gardant à l'esprit le mobile: par conséquent, l'ensemble de fonctionnalités est différent entre les deux, avec certaines choses qui ont été ajoutées dans FA et des choses qui manquent à GA .

Plus précisément, voici quelques points importants lors de l'examen 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 flux de comportement (de GA) est manquant
  • Les audiences présentent un gros avantage de FA et, couplées aux notifications, vous permettent d'interagir avec un groupe spécifique d'utilisateurs
  • Lors de l'utilisation de Firebase Crash Reporting, une audience avec des utilisateurs ayant rencontré un plantage est automatiquement créée
  • L'analyse en entonnoir a beaucoup plus de sens qu'en GA, car FA est basée sur des événements et non sur des vues d'écran
  • Gratuit et illimité, sauf pour le nombre de types d'événements (limité à 500); aucune limite sur le volume d'événements pour chaque type
  • Certains événements sont enregistrés automatiquement (c'est-à-dire les 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
  • Très facile à configurer, il n'y a pas de singleton à initialiser, il suffit d'inclure la dépendance Gradle et de commencer la journalisation des événements
  • Console tout-en-un, si vous prévoyez d'utiliser d'autres services Firebase

Quant à savoir si l'on doit 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 largement GA auparavant, il est probable que vous manquiez certaines de ses fonctionnalités lors du passage complet à FA.
  • Cependant, s'il s'agit d'un nouveau départ pour votre projet, FA est beaucoup plus enclin à un environnement multi-plateforme orienté mobile, vous pouvez donc très bien le considérer comme votre propre outil d'analyse.

Par ailleurs, gardez à l'esprit que Firebase vient de se lancer et que Google prévoit d'ajouter d'autres fonctionnalités dans les semaines à venir (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/

Shubham Sharma
la source
11
J'ai atterri ici car nous sommes maintenant en 2019 et Google abandonne bientôt GA au profit de FA, donc le déménagement est obligatoire. support.google.com/firebase/answer/9167112
Ryan
1
Cela signifie donc que nous devons utiliser Firebase Analytics au lieu de Google Analytics? Ai-je raison?
Sumit Shukla le
@Ryan sainte vache! Je voulais accéder à Google Analytics depuis Firebase Analytics, mais votre commentaire m'a sauvé! Merci!
Aleksandar le