tutorial services google for app android android-activity firebase firebase-analytics

android - services - ¿Es necesario inicializar Firebase Analytics en cada actividad?



google services json google analytics (5)

No quiero enviar ningún registro especial a la consola de Firebase Analytics, solo verifique en qué pantallas está el usuario pasando más tiempo, etc.

Cuando utilicé AnalyticsTracker era obligatorio agregarlo en todas partes, así que puedes establecer el nombre específico de cada pantalla con el archivo Tracker.xml .

La documentación oficial dice:

Agregue la dependencia de Firebase Analytics a su archivo build.gradle nivel de build.gradle :

compile ''com.google.firebase:firebase-core:9.2.1''

Declare el objeto FirebaseAnalytics en la parte superior de su actividad:

private FirebaseAnalytics mFirebaseAnalytics;

Luego onCreate() en el método onCreate() :

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

Entonces supongo que tengo que hacer esto en cada página donde quiero obtener datos, ¿no es así?


El seguimiento de la pantalla ahora se puede hacer con una sola línea.

**Your ApplicationClass** public FirebaseAnalytics mFirebaseAnalytics; @Override public void onCreate() { mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); } public FirebaseAnalytics getmFirebaseAnalytics() { return mFirebaseAnalytics; }

Después de eso, crea la Actividad Base y llama al receptor de FirebaseAnalytics desde aquí. Luego use .setCurrentScreen como se muestra a continuación

**Your BaseActivity** @Override protected void onResume() { FirebaseAnalytics firebaseAnalytics = ((ApplicationClass) getApplication()).getmFirebaseAnalytics(); firebaseAnalytics.setCurrentScreen(this, getClass().getSimpleName(), null); Log.d("FAnalytics", "setCurrentScreen: " + getClass().getSimpleName()); super.onResume(); }

No te olvides! Toda su actividad debe extenderse desde BaseActivity https://firebase.google.com/docs/analytics/screenviews


Firebase Analytics aún no admite el seguimiento automático de pantalla, pero esto es algo que estamos considerando cuidadosamente ahora.



No. Solo necesita crear una variable global en una clase que amplíe la clase de aplicación

public class MyApplication extends Application { public static FirebaseAnalytics mFirebaseAnalytics; @Override public void onCreate() { super.onCreate(); mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); } }

Después, agregue la siguiente línea en su manifiesto, en la etiqueta de Aplicación

<application android:name=".MyApplication" ...


Para los informes de pantalla, no es necesario que llame a FirebaseAnalytics.setCurrentScreen() en todas las Actividades porque esto se hace automáticamente. Los documentos oficiales indican:

Tenga en cuenta que los informes de pantalla se activan automáticamente y registran el nombre de clase de la Actividad actual sin necesidad de que llame a esta función.

Presumiblemente, para que esto funcione, debe llamar a FirebaseAnalytics.getInstance() en su subclase de aplicación del método onCreate() .