Google Analytics con Android: ¿Configurar programaticamente ga_reportUncaughtExceptions?
Tl dr
¿Hay alguna forma de activar programaticamente la función reportUncaughtExceptions para Google Analytics (v4) sin usar la configuración xml en Android?
Explicación más larga
Estoy utilizando Google Analytics v4 en una aplicación de Android, y necesito una forma de establecer dos identificadores de seguimiento diferentes por el estilo de construcción. Utilizaba una configuración general global_tracker.xml (ver más abajo), aunque necesito una forma de "inyectar dinámicamente" el ID de seguimiento basado en el sabor.
- Uso de iconos vectoriales en Android
- Android: ¿Cómo declarar el espacio de nombres XML en styles.xml?
- Diferentes tipos de análisis
- OnItemClickListener de spinner
- Fondo transparente en ImageButton con efecto de ondulación?
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes"> <integer name="ga_sessionTimeout">300</integer> <bool name="ga_autoActivityTracking">true</bool> <bool name="ga_reportUncaughtExceptions">true</bool> <!-- The following value should be replaced with correct property id. --> <string name="ga_trackingId">UA-xxxxxx-xx</string> </resources>
Para evitar duplicar las configuraciones xml en las carpetas de origen de las fuentes de compilación, inicializo un rastreador directamente usando el trackingId y configuro los atributos de forma programática.
mGATracker = analytics.newTracker(R.string.ga_code); // this is dynamic depending on flavor mGATracker.setSessionTimeout(300); mGATracker.enableAutoActivityTracking(true);
¿Hay una manera de permitir reportUncaughtExceptions sin usar la configuración xml?
- Definiendo el orden Z de vistas de RelativeLayout en Android
- Android - acceso a los activos de la aplicación de prueba
- Cómo crear gradiente como Iphone Edittext cuadro en android
- Archivo no válido: google-play-services_lib / build.xml en android
- ¿Cómo afectar a elementos fuera de un listview cuando se hace clic en algunos elementos de la vista de lista?
- Constructor de vista personalizada de Android
- Cómo codificar un símbolo de Euro en strings.xml en los archivos de android XML
- Forma de analizar XML (org.w3c.Document) en Android
No No hay manera de hacerlo en la versión actual de las API. Gracias por señalarlo. Vamos a mirar en él y, posiblemente, añadirlo en una de las próximas versiones de la sdk.
Si no he entendido mal su pregunta, la solución está abajo:
MGATracker es su propio rastreador.
mGATracker.enableExceptionReporting(true);
Espero que ayude, gracias.
Creo que lo mejor que podrás hacer de forma programática es tener dos archivos de configuración xml de rastreador diferentes, ambos con el mismo ga_trackingId
pero valores diferentes para ga_reportUncaughtExceptions
. Utilice el método GoogleAnalytics.newTracker()
con el recurso xml para el archivo de configuración correcto en lugar del seguimientoId.
if (buildFlavor == 1) mGATracker = analytics.newTracker(R.xml.tracker_config_1) else mGATracker = analytics.newTracker(R.xml.tracker_config_2)
Puede configurar el manejador de excepciones de Analytics de forma programática.
UncaughtExceptionHandler myHandler = new ExceptionReporter( myTracker, // Currently used Tracker. Thread.getDefaultUncaughtExceptionHandler(), // Current default uncaught exception handler. context); // Context of the application. // Make myHandler the new default uncaught exception handler. Thread.setDefaultUncaughtExceptionHandler(myHandler);
Más información en https://developer.android.com/reference/com/google/android/gms/analytics/ExceptionReporter.html
- ¿Qué determina cuándo se visualiza una vista?
- FileNotFoundException en el archivo proguard-rules.pro