Agregar Firebase Analytics y Google Analytics en la aplicación de Android
google analytics android (2)
Finalmente, encontré una respuesta para agregar GA y FA
Paso 1. Se eliminaron los archivos xml R.xml.global_tracker
Paso 2. Se reemplazó mTracker = analytics.newTracker (R.xml.global_tracker); con mTracker = analytics.newTracker (PROPERTY_ID);
Paso 3. Agregue lo siguiente en el archivo json "analytics_service": {"status": 2, "analytics_property": {"tracking_id": ""}},
Implementé Firebase Analytics. Está funcionando bien. Deseo usar Google Analytics también. Basado en la discusión aquí he incluido el siguiente objeto en google-services.json
"analytics_service": {
"status": 2,
"analytics_property": {
"tracking_id": "<your tracking id>"
}
},
Para Google Analytics, tengo la clase Tracker
public class PuzzleGamesTracker extends Application {
// The following line should be changed to include the correct property id.
private static final String PROPERTY_ID = "<your tracking id>";
private Tracker mTracker;
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
/**
* Gets the default {@link Tracker} for this {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
mTracker = analytics.newTracker(R.xml.global_tracker);
}
return mTracker;
}
}
Uso
public void sendToGoogleAnalytics(String arg) {
// TODO Auto-generated method stub
sendToFireBase();
PuzzleGamesTracker application = (PuzzleGamesTracker) getApplication();
Tracker mTracker = application.getDefaultTracker();
mTracker.setScreenName(arg);
mTracker.send(new HitBuilders.AppViewBuilder().build());
}
public void sendToFireBase( ) {
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 1A");
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 1A");
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item B");
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name B");
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 2A");
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 2A");
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 2");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
}
Escenario de error
Si no incluí el objeto de análisis de Google a continuación en google-services.json, entonces Fire Base está funcionando correctamente.
"analytics_service": {
"status": 2,
"analytics_property": {
"tracking_id": "<your tracking id>"
}
},
Cuando incluyo el objeto de Google Analytics en google-services.json, obtengo el siguiente error
Error:Execution failed for task '':android:mergeReleaseResources''.
> [xml/global_tracker] C:/Users/android/build/generated/res/google- services/release/xml/global_tracker.xml [xml/global_tracker] C:/Users/android/res/xml/global_tracker.xml: Error: Duplicate resources
Pregunta 1. ¿Debo eliminar el ecommerce_tracker.xml y el global_tracker.xml? La clase PuzzleGamesTracker ya lo está usando. ¿Cómo superarlo? 2. Guíarme para que pueda tener éxito en la implementación de FA y GA
Parece genial, pero ¿qué pasa con la identificación de la aplicación? ¿No necesitamos la identificación de la aplicación para rastrear eventos tanto en Google como en Firebase Analytics?