google analytic android google-analytics google-analytics-api

google - firebase analytics xamarin android



android analytics v4 más simplificado (1)

La forma más sencilla de configurar Google Analytic v4 es usar código Java y configurar un solo rastreador desde Application.onCreate (). Esta es también la forma más rápida y segura de configurar Analytics. Tu código se verí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 su aplicación, puede usar:

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

También necesita algunos cambios en su 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 mantendría alejado de usar cualquier archivo de configuración XML ya que es fácil obtener la configuración XML incorrecta. La configuración desde Java tiene la ventaja de que el compilador valida 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. Puedes quedarte con el uso de nombres de clase. Su informe mostrará los nombres de clase en lugar de nombres más amigables para el ser humano, pero es más simple para evitar el mapeo adicional.

dryRun y ​​logLevel no se deprecian desde Google Play Services 7.0. Está utilizando un nombre incorrecto, siempre que el valor incorrecto de los haya colocado 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.

Intento conectar Google Analytics a mis aplicaciones de la manera más simple posible. Quiero implementar el análisis v4, porque Google dijo que obligarán a actualizarlo pronto, por lo que no quiero hacer el doble del mismo trabajo.

El tutorial de Google, en este caso, no es muy eficiente. Al fusionar lo que dijeron allí y lo que encontré en Internet, hice estos pasos:

En el Manifiesto de Android, agregué estos permisos:

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

y esto, bajo la etiqueta de la 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, escribí esto, al comienzo del método onCreate:

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

En LogCat, el análisis dice que se inició y se acierta ... pero en mi análisis analítico, en "usuarios en tiempo real", dice cero ...

Preguntas adicionales:

  • nombres de pantalla en el archivo xml son necesarios?

  • ¿ga_logLevel y ga_dryRun están en desuso? Porque Logcat me advierte que esos recursos no son reconocidos