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 debuild.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étodoonCreate()
:
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.
Firebase rastrea automáticamente las actividades de las pantallas ahora, sin embargo, aún puede seguirlas manualmente.
mFirebaseAnalytics.setCurrentScreen(this, screenName, null /* class override */);
fuente:
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()
.