Wie wechsle ich von Google-Analytics zu Firebase-Analytics?

85

Hintergrund

In den letzten Monaten hat Google eine neue Analytics-Alternative namens " Firebase Analytics " veröffentlicht.

Das Problem

Da die App bereits über Google-Analytics verfügt, finde ich einige Hindernisse, mit denen ich nicht umgehen kann.

Die Fragen

  1. Bisher benötigte die Funktion "newTracker" eine Eigenschafts-ID. Jetzt sehe ich es nicht. Bedeutet das, dass es keinen braucht?

  2. Zuvor war "enableAdvertisingIdCollection" verfügbar, um auch Anzeigeninformationen zu sammeln. Ich kann es in neuen APIs nicht finden. Wird es automatisch gesammelt?

  3. "setDryRun" war verfügbar, um das Senden der Daten an die Server zu deaktivieren, und jetzt sehe ich es nicht. Bedeutet das, dass dies bei Debug-Versionen der App automatisch so ist? Schreiben alle Funktionen in die Protokolle?

  4. Zuvor konnte ich einen "Bildschirm" verfolgen:

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

    Jetzt sehe ich es nicht, aber wie ich gelesen habe, denke ich, dass es automatisch ist, so dass es trotzdem Daten des Aktivitätslebenszyklus sendet. Ist es wahr?

  5. Wahrscheinlich das Wichtigste: Früher konnte ich anhand von Kategorie, Aktion, Bezeichnung und Wert verfolgen:

    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());
    }

    und jetzt sehe ich eine völlig andere Möglichkeit, Ereignisse ("benutzerdefinierte Ereignisse") mithilfe von Bundles zu verfolgen . Beispiel:

    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);

    Wie funktioniert es? Wie wird es auf der Website von Firebase Analytics angezeigt ? Ich nehme an, der erste Parameter von logEvent könnte sich wie der Kategorieparameter von Google Analytics verhalten, aber was kann / sollte ich für den Rest tun? Laut den Dokumenten sollte dies in Ordnung sein:

    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. Welche Ereignisse werden tatsächlich automatisch verfolgt werden (ich das fragen , weil einige gesagt werden , dass ich nicht verwenden soll, hier )? Enthalten sie Einkäufe? App-Einladungen? Anzeigen? Wo sehe ich sie auf der Konsolenwebsite?

  7. Über Protokolle heißt es, dass das neue SDK dies tut durch:

    Sie können die ausführliche Protokollierung mit einer Reihe von ADB-Befehlen aktivieren:

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

    Was machen diese Befehle? Wie kann ich es deaktivieren? Ich habe bemerkt, dass es sogar in der Release-Version der App angezeigt wird ...

  8. Soll das neue SDK Google-Analytics ersetzen? Wird vorgeschlagen, vollständig darauf umzusteigen? Wird Google-Analytics Updates haben?

Android-Entwickler
quelle
1
Warum für den Abschluss stimmen? :(
Android-Entwickler
1
Nebenbei bemerkt, ich habe Firebase Analytics recherchiert und es gerade in meiner reaktionsnativen App implementiert. Es scheint, dass es in "Google Analytics for Firebase" umbenannt wird. Firebase.google.com/docs/analytics
ich selbst
iS GOOGLE Analytics für das Web veraltet?
Ahmad Arslan
@ AhmadArslan Ich weiß nicht
Android-Entwickler

Antworten:

56

Viele Fragen sind gebündelt, daher werde ich versuchen, die meisten kurz zu beantworten:

  1. Google Analytics berichtet über Tracker-IDs, Firebase Analytics berichtet über Anwendungen. In der in google-services.json definierten Anwendung ist nur eine ID definiert. Die ID wird vom Google Services-Plugin unter dem Namen "google_app_id" in eine Zeichenfolgenressource übersetzt. Alle Ereignisse aus der App werden an diese einzelne ID gemeldet.
  2. Firebase Analytics meldet AdId automatisch. Sie müssen es nicht aktivieren.
  3. Es gibt keine dryRun-Funktion. Sie können entweder während der Entwicklung eine separate Datei google-services.json verwenden, die Entwicklungsversion mithilfe der App-Version herausfiltern oder Benutzereigenschaften hinzufügen, um die für die Entwicklung verwendeten App-Instanzen zu markieren.
  4. Sie können Bildschirme mit melden

    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. Sie können benutzerdefinierte Ereignisse mit denselben Parametern protokollieren

    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);

    Das Präfix "ga_" ist reserviert und Ihre Analyse schlägt fehl, wenn Sie es verwenden. Verwenden Sie stattdessen "xyz_", wobei xyz beispielsweise die Initialen Ihres Unternehmens sind.

    Verwenden Sie die Kategorie nicht als Ereignisnamen, es sei denn, Sie haben nur sehr wenige Kategorien, die Sie verfolgen möchten. Firebase Analytics unterstützt bis zu 500 Ereignisnamen. Wenn Sie mehr protokollieren, werden einige Ihrer Daten ignoriert.

  6. Am Anfang der FirebaseAnalytics.Event-Klasse befindet sich eine Liste der reservierten Ereignisnamen . Es stellt ungefähr die gemeldeten automatischen Ereignisse dar.

  7. In Firebase Analytics ist die Debug-Protokollierung standardmäßig deaktiviert. Es werden nur Fehler und Warnungen protokolliert. Wenn Sie die Debug-Protokollierung nicht aktivieren und Ihre App korrekt konfiguriert ist, werden nur zwei Zeilen protokolliert, wenn die App mit Anweisungen zum Aktivieren der Debug-Protokollierung beginnt. In der Produktion gibt es nichts zu deaktivieren und es gibt kein Äquivalent zu setLogLevel (ERROR) von Google Analytics. WARN ist die Standardprotokollierungsstufe. Sie können die Anmeldung auf einem einzelnen Gerät nur aktivieren, indem Sie den Befehl adb auf dem Gerät ausführen. So vermeiden Sie den Versand von Apps in der Produktion mit aktivierter Debug-Protokollierung.

  8. Das Google Analytics SDK für Android und iOS ist nicht veraltet und wird auf absehbare Zeit unterstützt und aktualisiert. Sie müssen sich nicht davon entfernen, wenn Sie bereits in Ihre App investiert haben und diese Ihren Anforderungen entspricht.

Djabi
quelle
3
5. Es scheint, dass es noch nicht unterstützt wird, benutzerdefinierte Bundle- Inhalte zu verwenden . Dies geht aus den folgenden Beiträgen hervor: stackoverflow.com/a/37779048 , stackoverflow.com/a/37511858 . Schade.
Android-Entwickler
1
Danke für den Kommentar. Der Wert wurde in 5 auf long geändert. Es gibt noch keine automatische Berichterstellung für alle Parameter, aber Sie können das Konto mit BigQuery verknüpfen und damit Berichte erstellen. BigQuery verfügt über ein kostenloses Kontingent, das möglicherweise alles ist, was Sie benötigen. Abotu 3. Die Standardeinstellung ist die Berichterstellung. 4. Die Bildschirmberichterstattung erfolgt nicht automatisch. Sie müssen das Ereignis protokollieren, wenn Sie Inhalte anzeigen. 5. Wenn die Standardberichterstattung nicht ausreicht, können Sie die Daten in BigQuery abfragen. Es hat die rohen Ereignisse, wie Sie sie protokolliert haben. 6. Sie sollten app_uninstall ignorieren. 7. Wenn Sie die Debug-Protokollierung auf einem Gerät aktivieren , werden alle Protokolle angezeigt .
Djabi
1
8. Dies ist eine sehr breite Frage. Nach welchen besonderen Funktionen fragen Sie? Wenn Firebase Analytics mit Google Analytics identisch ist, handelt es sich um Google Analytics und nicht um Firebase Analytics.
Djabi
2
'Die Präfixe "firebase_", "google_" und "ga_" sind reserviert und sollten nicht verwendet werden.': Firebase.google.com/docs/reference/cpp/group/parameter-names Mein Vorschlag anstelle von "ga_event" würde sei "abc_event", wobei "abc" ein Akronym für Sie oder Ihr Unternehmen ist.
KRA2008
5
Ich bin hier gelandet, da es jetzt 2019 ist und Google GA bald zugunsten von FA ablehnt, daher ist der Umzug obligatorisch. support.google.com/firebase/answer/9167112
Ryan
13

Google Analytics ist ein von Google angebotener Freemium-Webanalysedienst, der den Website-Verkehr verfolgt und meldet. 1 Google startete den Dienst im November 2005 nach der Übernahme von Urchin. Firebase ist ein Cloud-Dienstleister und Backend als Dienstleistungsunternehmen mit Sitz in San Francisco, Kalifornien. Das Unternehmen stellt eine Reihe von Produkten für Softwareentwickler her, die mobile oder Webanwendungen erstellen.

Wie wechsle ich von Google Analytics zu Firebase Analytics?

Google Analytics (GA) und Firebase Analytics (FA) unterscheiden sich trotz ihres gemeinsamen Namens in vielen Aspekten erheblich. Während GA ein universelles (und weborientierteres) Analysetool ist, wurde Firebase unter Berücksichtigung der Mobilität entwickelt. Daher unterscheidet sich der Funktionsumfang zwischen den beiden, wobei einige Dinge in FA hinzugefügt wurden und Dinge, die in GA fehlen .

Insbesondere sind dies einige bemerkenswerte Punkte, wenn Sie Firebase Analytics in Betracht ziehen:

  • Echtzeitansicht fehlt
  • Veranstaltungen sind nach 4-6 Stunden verfügbar
  • Der Verhaltensfluss (von GA) fehlt
  • Die Zielgruppen bieten einen großen Vorteil von FA und ermöglichen es Ihnen in Verbindung mit Benachrichtigungen, mit einer bestimmten Gruppe von Benutzern in Kontakt zu treten
  • Bei Verwendung von Firebase Crash Reporting wird automatisch eine Zielgruppe mit Benutzern erstellt, bei denen ein Absturz aufgetreten ist
  • Die Trichteranalyse ist viel sinnvoller als in GA, da FA auf Ereignissen und nicht auf Bildschirmansichten basiert
  • Kostenlos und unbegrenzt, mit Ausnahme der Anzahl der Arten von Veranstaltungen (begrenzt auf 500); Keine Begrenzung des Ereignisvolumens pro Typ
  • Einige Ereignisse werden automatisch protokolliert (z. B. Sitzungen basierend auf dem Aktivitätslebenszyklus).
  • Relativ geringer Methoden-Footprint im Vergleich zur Anzahl der GA-Methoden
  • Es ist kinderleicht einzurichten und es muss kein Singleton initialisiert werden. Schließen Sie einfach die Gradle-Abhängigkeit ein und beginnen Sie mit der Protokollierung von Ereignissen
  • All-in-One-Konsole, wenn Sie andere Firebase-Dienste verwenden möchten

Die Frage lautet, ob man in Betracht ziehen sollte, von einem zum anderen zu wechseln, oder ob beide parallel gehalten werden sollen: Es kommt darauf an.

  • Wenn Sie GA zuvor ausgiebig verwendet haben, besteht die Möglichkeit, dass Ihnen einige Funktionen fehlen, wenn Sie vollständig auf FA umsteigen.
  • Wenn dies jedoch ein Neuanfang für Ihr Projekt ist, ist FA viel anfälliger für eine plattformübergreifende mobile Umgebung, sodass Sie es möglicherweise als Ihr eigenes Analysetool betrachten.

Beachten Sie, dass Firebase gerade gestartet wurde und Google plant, in den kommenden Wochen weitere Funktionen hinzuzufügen (z. B. Echtzeit-Dashboard).

Das Tutorial finden Sie hier https://firebase.google.com/docs/analytics/android/start/

Shubham Sharma
quelle
11
Ich bin hier gelandet, da es jetzt 2019 ist und Google GA bald zugunsten von FA ablehnt, daher ist der Umzug obligatorisch. support.google.com/firebase/answer/9167112
Ryan
1
Das heißt also, wir müssen Firebase Analytics anstelle von Google Analytics verwenden? Hab ich recht?
Sumit Shukla
@ Ryan heilige Kuh! Ich wollte von Firebase Analytics zu Google Analytics wechseln, aber Ihr Kommentar hat mich gerettet! Vielen Dank!
Aleksandar