¿Cómo pasar de Google-Analytics a Firebase-Analytics?

85

Antecedentes

En los últimos meses, Google ha publicado una nueva alternativa de Analytics, llamada " Firebase Analytics ".

El problema

Como la aplicación ya tiene Google-Analytics, encuentro algunos obstáculos que no veo cómo manejar mejor.

Las preguntas

  1. Anteriormente, la función "newTracker" necesitaba una identificación de propiedad. Ahora no lo veo. ¿Significa que no necesita uno?

  2. Anteriormente, "enableAdvertisingIdCollection" también estaba disponible para recopilar información de anuncios. No puedo encontrarlo en nuevas API. ¿Se recopila automáticamente?

  3. "setDryRun" estaba disponible para deshabilitar el envío de datos a los servidores, y ahora no lo veo. ¿Significa que es automáticamente así para las versiones de depuración de la aplicación? ¿Todas las funciones escriben en los registros?

  4. Anteriormente, podía rastrear una "pantalla":

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

    Ahora no lo veo, pero como he leído, creo que es automático, por lo que envía datos del ciclo de vida de la actividad de todos modos. ¿Es verdad?

  5. Probablemente lo más importante: anteriormente podía rastrear usando categoría, acción, etiqueta y valor:

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

    y ahora veo una forma completamente diferente de realizar un seguimiento de eventos ("eventos personalizados"), utilizando paquetes . Ejemplo:

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

    ¿Como funciona? ¿Cómo se muestra en el sitio web de Firebase Analytics ? Supongo que podría hacer que el primer parámetro de logEvent se comporte como el parámetro de categoría de Google-Analytics, pero ¿qué puedo / debo hacer para el resto? Según los documentos, esto debería estar bien:

    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. ¿Qué eventos se están rastreando realmente automáticamente (pregunto esto porque se dice que algunos no debería usar, aquí )? ¿Incluyen compras? invitaciones a la aplicación? anuncios? ¿Dónde los veo en el sitio web de la consola?

  7. Acerca de los registros, dice que el nuevo SDK lo hace de la siguiente manera:

    Puede habilitar el registro detallado con una serie de comandos adb:

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

    ¿Qué hacen esos comandos? ¿Cómo puedo desactivarlo? He notado que incluso se muestra en la versión de lanzamiento de la aplicación ...

  8. ¿Se supone que el nuevo SDK reemplazará a Google-Analytics? ¿Se sugiere pasar completamente a él? ¿Google-Analytics tendrá alguna actualización?

desarrollador de Android
fuente
1
¿Por qué votar por el cierre? :(
desarrollador de Android
1
Nota al margen, he estado investigando Firebase Analytics y lo acabo de implementar en mi aplicación nativa de reacción. Parece que se cambiará el
yo mismo
¿GOOGLE Analytics está obsoleto para la Web?
Ahmad Arslan
@AhmadArslan No lo sé
desarrollador de Android

Respuestas:

56

Muchas preguntas agrupadas, así que intentaré responder brevemente a la mayoría de ellas:

  1. Google Analytics informa sobre tracker-ids, Firebase Analytics informa sobre aplicaciones. Solo hay una identificación en la aplicación definida en su google-services.json. El complemento de servicios de Google traduce el ID a un recurso de cadena con el nombre "google_app_id". Todos los eventos de la aplicación se informan a esta identificación única.
  2. Firebase Analytics informa AdId automáticamente. No es necesario habilitarlo.
  3. No hay función dryRun. Puede usar google-services.json por separado durante el desarrollo, filtrar la versión de desarrollo usando la versión de la aplicación o agregar una propiedad de usuario para marcar las instancias de la aplicación utilizadas para el desarrollo.
  4. Puede informar de pantallas con

    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. Puede registrar eventos personalizados con los mismos parámetros

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

    El prefijo "ga_" está reservado y sus análisis fallarán si lo usa. En su lugar, utilice "xyz_", donde xyz son las iniciales de su empresa, por ejemplo.

    No utilice la categoría como nombre de evento a menos que tenga muy pocas categorías de las que desee realizar un seguimiento. Firebase Analytics admite hasta 500 nombres de eventos. Registrar más que eso hará que se ignoren algunos de sus datos.

  6. Hay una lista de nombres de eventos reservados al comienzo de la clase FirebaseAnalytics.Event . Representa aproximadamente los eventos automáticos informados.

  7. Firebase Analytics tiene el registro de depuración inhabilitado de forma predeterminada. Solo registra errores y advertencias. Si no habilita el registro de depuración y su aplicación está configurada correctamente, solo hay 2 líneas que se registran cuando la aplicación se inicia con instrucciones sobre cómo habilitar el registro de depuración. No hay nada que deshabilitar en producción y no hay equivalente a setLogLevel (ERROR) de Google Analytics. WARN es el nivel de registro predeterminado. Solo puede habilitar el inicio de sesión en un dispositivo individual ejecutando el comando adb en el dispositivo). Eso le ayuda a evitar el envío de aplicaciones en producción con el registro de depuración habilitado.

  8. El SDK de Google Analytics para Android e iOS no está obsoleto y será compatible y actualizado en un futuro previsible. No es necesario que se aleje de él si ya invirtió en su aplicación y satisface sus necesidades.

djabi
fuente
3
5. Parece que aún no se admite el uso de paquetes personalizados, según estas publicaciones: stackoverflow.com/a/37779048 , stackoverflow.com/a/37511858 . Demasiado.
desarrollador de Android
1
Gracias por el comentario. Se cambió el valor a largo en 5. Todavía no hay informes automáticos sobre todos los parámetros, pero puede vincular la cuenta a BigQuery y usarlo para crear informes. BigQuery tiene una cuota gratuita que podría ser todo lo que necesita. Abotu 3. El valor predeterminado es informar. 4. Los informes de pantalla no son automáticos. Debe registrar el evento cuando muestre contenido. 5. Si los informes predeterminados no son suficientes, puede consultar los datos en BigQuery. Tiene los eventos sin procesar como los registró. 6. Debe ignorar app_uninstall. 7. Si habilita el registro de depuración en un dispositivo , verá todos los registros.
djabi
1
8. Ésta es una cuestión muy amplia. Qué características particulares está preguntando. Si Firebase Analytics es idéntico a Google Analytics, será Google Analytics, no Firebase Analytics.
djabi
2
'Los prefijos "firebase_", "google_" y "ga_" están reservados y no deben usarse.': Firebase.google.com/docs/reference/cpp/group/parameter-names Mi sugerencia en lugar de "ga_event" sería sea ​​"abc_event" donde "abc" es un acrónimo de usted o su empresa.
KRA2008
5
Aterricé aquí como estamos en 2019 y Google pronto desaprobará GA a favor de FA, por lo que el movimiento es obligatorio. support.google.com/firebase/answer/9167112
Ryan
13

Google Analytics es un servicio de análisis web freemium ofrecido por Google que rastrea e informa el tráfico del sitio web. 1 Google lanzó el servicio en noviembre de 2005 después de adquirir Urchin. Firebase es un proveedor de servicios en la nube y backend como empresa de servicios con sede en San Francisco, California. La empresa fabrica una serie de productos para desarrolladores de software que crean aplicaciones web o móviles.

¿Cómo pasar de Google Analytics a Firebase Analytics?

Google Analytics (GA) y Firebase Analytics (FA), a pesar de su nombre común, son muy diferentes en muchos aspectos. Si bien GA es una herramienta de análisis de uso general (y más orientada a la web), Firebase se creó teniendo en cuenta los dispositivos móviles: por lo tanto, el conjunto de funciones es diferente entre los dos, con algunas cosas que se agregaron en FA y cosas que faltan en GA .

Más específicamente, estos son algunos puntos notables al considerar Firebase Analytics:

  • Falta la vista en tiempo real
  • Los eventos están disponibles después de un período de 4-6 horas.
  • Falta el flujo de comportamiento (de GA)
  • Las audiencias cuentan con una gran ventaja de FA y, junto con las notificaciones, le permite interactuar con un grupo específico de usuarios.
  • Cuando se usa Firebase Crash Reporting, se crea automáticamente una audiencia con usuarios que experimentaron un bloqueo
  • El análisis de embudo tiene mucho más sentido que en GA, ya que FA se basa en eventos y no en visualizaciones de pantalla
  • Gratis e ilimitado, excepto por el número de tipos de eventos (limitado a 500); sin límites en el volumen de eventos por cada tipo
  • Algunos eventos se registran automáticamente (es decir, sesiones basadas en el ciclo de vida de la actividad)
  • Huella de métodos relativamente baja, en comparación con el recuento de métodos de GA
  • Fácil de configurar, no hay un singleton para inicializar, solo incluye la dependencia de Gradle y comienza a registrar eventos
  • Consola todo en uno, si planeas usar otros servicios de Firebase

En cuanto a si uno debería considerar cambiar de uno a otro, o si mantener ambos en paralelo, la respuesta es: depende.

  • Si antes usaba GA de forma extensiva, es probable que se pierda algunas de sus funciones al cambiar completamente a FA.
  • Sin embargo, si este es un nuevo comienzo para su proyecto, FA es mucho más propenso a un entorno orientado a dispositivos móviles multiplataforma, por lo que puede considerarlo como su propia herramienta de análisis.

En una nota al margen, tenga en cuenta que Firebase acaba de lanzarse y Google tiene planes de agregar más funciones en las próximas semanas (por ejemplo, panel de control en tiempo real).

Para obtener un tutorial, puede encontrar aquí https://firebase.google.com/docs/analytics/android/start/

Shubham Sharma
fuente
11
Aterricé aquí como estamos en 2019 y Google pronto desaprobará GA a favor de FA, por lo que el movimiento es obligatorio. support.google.com/firebase/answer/9167112
Ryan
1
Entonces, ¿esto significa que tenemos que usar Firebase Analytics en lugar de Google Analytics? ¿Estoy en lo correcto?
Sumit Shukla
@Ryan vaca sagrada! Quería ir a Google Analytics desde Firebase Analytics, ¡pero tu comentario me salvó! ¡Gracias!
Aleksandar