Android analytics v4 más simplificado

Estoy intentando conectar google Analytics a mis aplicaciones de la manera más sencilla posible. Quiero implementar la analítica v4, porque google dijo que van a obligar a actualizar a ella pronto, por lo que no quiero hacer dos veces el mismo trabajo.

Tutorial de Google, en este caso, no es muy eficiente. Mezclando lo que dijeron allí y lo que he encontrado en el Internet, he hecho estos pasos:

En Android Manifest, he añadido los siguientes permisos:

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

Y esto, bajo la etiqueta de aplicación:

 <meta-data android:name="com.google.android.gms.analytics.globalConfigResource" android:resource="@xml/analytics" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

No estoy seguro de la necesidad de la segunda meta …

He escrito un archivo xml, llamado "analytics.xml" (/ res / xml /) que contiene:

 <!-- the Local LogLevel for Analytics --> <string name="ga_logLevel">verbose</string> <!-- Treat events as test events and don't send to google --> <bool name="ga_dryRun">false</bool> <!-- <integer name="ga_sessionTimeout">300</integer> --> <!-- Enable automatic Activity measurement --> <bool name="ga_autoActivityTracking">true</bool> <!-- Enable automatic exception tracking --> <bool name="ga_reportUncaughtExceptions">true</bool> <string name="ga_trackingId">UA-52900555-1</string> <!-- The screen names that will appear in reports --> <screenName name="com.maik.adbconnect.EmpityActivity"> Adb Activation </screenName> <screenName name="com.maik.adbconnect.wid_class"> Widget call </screenName> 

Ahora, en EmpityActivity.java, he escrito esto, al principio del método onCreate:

 GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); Tracker t = analytics.newTracker(R.xml.analytics); t.send(new HitBuilders.AppViewBuilder().build()); 

En LogCat, analytics dice que se inicia y acierta … pero en mi revisión analítica, bajo "usuarios en tiempo real", dice cero ….

Preguntas adicionales:

  • Screennames en el archivo xml son necesarios?

  • Ga_logLevel y ga_dryRun están obsoletos? Porque logcat me advierte que esos recursos no son reconocidos

La forma más sencilla de configurar Google Analytic v4 es usar código Java y configurar un único rastreador de Application.onCreate (). Esta es también la forma más rápida y segura de configurar Analytics. Tu código sería así:

 public class MyApp extends Application { private final String TRACKER_ID = "UA-54994796-4"; private static GoogleAnalytics analytics; private static Tracker tracker; public static GoogleAnalytics analytics() {return analytics;} public static Tracker tracker() {return tracker;} @Override public void onCreate() { super.onCreate(); analytics = GoogleAnalytics.getInstance(this); analytics.getLogger().setLogLevel(Logger.LogLevel.VERBOSE); tracker = analytics.newTracker("UA-00000000-1"); tracker.enableExceptionReporting(true); tracker.enableAutoActivityTracking(true); } } 

Para enviar un evento desde cualquier lugar de tu aplicación, puedes utilizar:

 MyApp.tracker().send(new HitBuilders.EventBuilder( "some category", " some action").build()); 

También necesitas unos pocos cambios en tu ApplicationManifest.xml:

 <manifest> ... <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ... <application android:name=".MyApp"> ... </application> ... </manifest> 

Me quedaría lejos de usar cualquier archivo de configuración XML como su fácil de obtener la configuración XML equivocado. La configuración desde Java tiene el beneficio de que el compilador valide sus llamadas. El uso de código para configurar su Analytics también es más rápido ya que evita la sobrecarga de análisis XML.

Los nombres de pantalla son opcionales. Usted puede pegarse con el uso de nombres de clase. Su informe mostrará los nombres de las clases en lugar de nombres más amigables para el usuario, pero es más sencillo evitar el mapeo extra.

DryRun y ​​logLevel no se deprecian a partir de Google Play Services 7.0. Está utilizando un nombre incorrecto, siempre que el valor incorrecto de los coloca en la sección incorrecta del XML. Este es el problema con la configuración XML. Solo hay una validación de tiempo de ejecución limitada y es fácil hacer las cosas mal y no notar el problema.

  • Adición de Analytics de Firebase y Google Analytics en la aplicación para Android
  • Android Google Analytics y dimensiones
  • La deserialización de Google Analytics con Gson devuelve LinkedTreeMap
  • Cómo trabajar con la dimensión personalizada en Google Analytics v3 para la aplicación para Android
  • Datos demográficos de Google Analytics para Android
  • Google Analytics - Objeto de seguimiento de la actividad
  • En Android, cómo utilizar el Seguimiento de eventos de Google Analytics en el botón de clic
  • Google Analytics API v4 para Android NO envía vistas de pantalla
  • Problemas con Google Analytics Easy Tracker
  • Google Analytcs seguimiento mejorado de comercio electrónico para Android cuestión
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.