web-dev-qa-db-de.com

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

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, stelle ich einige Hindernisse fest, mit denen ich nicht am besten umgehen kann.

Die Fragen

  1. Zuvor 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 erfassen. 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. Bisher 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 sowieso Daten des Aktivitätslebenszyklus sendet. Ist es wahr?

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

    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, ich könnte den ersten Parameter von logEvent wie den Kategorie-Parameter von Google-Analytics verhalten, aber was kann/soll ich für den Rest tun? Nach Angaben der Dokumentation 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 nachverfolgt (ich frage dies, weil einigen gesagt wird, dass ich sie nicht verwenden sollte, hier )? Umfassen sie Einkäufe? App-Einladungen? Anzeigen? Wo sehe ich sie auf der Konsolen-Website?

  7. Über Logs, heißt es , dass das neue SDK dies durchführt:

    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? Ist es empfehlenswert, sich ganz darauf zu konzentrieren? Wird Google-Analytics aktualisiert?

72

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

  1. Google Analytics berichtet über Tracker-IDs, Firebase Analytics berichtet über Anwendungen. In Ihrer google-services.json-Datei ist nur eine ID in der Anwendung 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 die separate Datei google-services.json verwenden, die Entwicklungsversion mithilfe der App-Version herausfiltern oder eine Benutzereigenschaft 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("ga_event", params);
    

    Verwenden Sie die Kategorie nicht als Ereignisname, 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 als das protokollieren, werden einige Ihrer Daten ignoriert.

  6. Am Anfang der Klasse FirebaseAnalytics.Event befindet sich eine Liste reservierter 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 Debugprotokollierung nicht aktivieren und Ihre App korrekt konfiguriert ist, werden nur zwei Zeilen protokolliert, wenn die App mit Anweisungen zum Aktivieren der Debugprotokollierung gestartet wird. 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 Protokollierung nur auf einzelnen Geräten aktivieren, indem Sie den Befehl adb auf dem Gerät ausführen. Auf diese Weise vermeiden Sie den Versand von Apps in der Produktion, wenn die Debug-Protokollierung aktiviert ist.

  8. Google Analytics SDK für Android und iOS werden in absehbarer Zukunft nicht mehr unterstützt und aktualisiert. Sie müssen nicht mehr darauf verzichten, wenn Sie es bereits in Ihre App und die App investiert haben entspricht Ihren Bedürfnissen.

48
djabi

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

Wie wechselt man von Google Analytics zu Firebase Analytics?

Google Analytics (GA) und Firebase Analytics (FA) unterscheiden sich trotz ihres gemeinsamen Namens in vielerlei Hinsicht erheblich. Während GA ein allgemeines (und eher weborientiertes) Analysetool ist, wurde Firebase unter Berücksichtigung der Mobilitätsaspekte entwickelt. Aus diesem Grund unterscheidet sich das Funktionsspektrum von beiden, wobei einige Dinge hinzugefügt wurden in FA und Dinge, die in GA fehlen.

Insbesondere sind dies einige bemerkenswerte Punkte, wenn Firebase Analytics in Betracht gezogen wird:

  • Echtzeitansicht fehlt
  • Ereignisse sind nach einem Zeitraum von 4-6 Stunden verfügbar
  • Der Verhaltensfluss (von GA) fehlt
  • Die Zielgruppen bieten einen großen Vorteil von FA und ermöglichen in Verbindung mit Benachrichtigungen die Einbindung einer bestimmten Benutzergruppe
  • 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, außer für die Anzahl der Arten von Veranstaltungen (auf 500 begrenzt); Keine Begrenzung der Ereignismenge pro Typ
  • Einige Ereignisse werden automatisch protokolliert (d. H. Sitzungen basierend auf dem Aktivitätslebenszyklus).
  • Relativ geringer Platzbedarf für Methoden im Vergleich zur Anzahl der GA-Methoden
  • Es ist kinderleicht einzurichten und es muss kein Singleton initialisiert werden. Berücksichtigen Sie einfach die Gradle-Abhängigkeit und starten Sie die Protokollierung von Ereignissen
  • All-in-One-Konsole, wenn Sie andere Firebase-Dienste verwenden möchten

Ob man in Betracht ziehen sollte, von einem zum anderen zu wechseln oder beide parallel zu halten, ist die Antwort: es kommt darauf an.

  • Wenn Sie zuvor GA ausgiebig verwendet haben, besteht die Möglichkeit, dass Sie beim vollständigen Wechsel zu FA einige seiner Funktionen vermissen.
  • Wenn dies jedoch ein Neuanfang für Ihr Projekt ist, ist FA viel anfälliger für eine plattformübergreifende, mobil ausgerichtete Umgebung. Sie können es daher durchaus 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. ein Echtzeit-Dashboard).

Ein Tutorial finden Sie hier https://firebase.google.com/docs/analytics/Android/start/

12
Shubham Sharma