intive Argentina Blog

Google Analytics en Android

Google Analytics es una plataforma que se ofrece a desarrolladores y dueños de sitios web o aplicaciones para conocer el comportamiento de sus usuarios dentro de sus productos. Esta herramienta de Google resulta clave para que la app sea exitosa, porque permite conocer qué partes son las más utilizadas, por qué pantallas los usuarios no pasan nunca y cuáles llaman la mayor atención de los usuarios.

 

¿Qué necesitamos para usarlo?

  • Importar las librerías necesarias usando Gradle.

  • Tener una cuenta en Google Analytics con un tracker id del formato: UA-XXXXXXXX-X.
  • Inicializar el tracker de Google en Application.

 

¿Para qué podemos usarlo?

Seguimiento de pantallas.  Lo ideal a la hora de hacer un seguimiento de pantallas es declarar un fragment/activity base que se encargue del seguimiento en los métodos onResume y onPause. Además, es necesario que cada “pantalla” tenga declarado un nombre identificador de forma explícita en el código. Con esto me refiero a tener un variable del tipo:

Esto es por dos razones:

  1. El nombre que enviemos a Analytics impactará en los reportes y si hay una persona ajena al equipo de desarrollo, incluso alguien diferente al desarrollador que se encargó de desarrollar el seguimiento, se encontrará con nombres “extraños” que podrían no indicar lo que uno espera.
  2. Al ofuscar código con Proguard, no se puede valer de, por ejemplo, los nombres de las clases para identificar pantallas.

 

Importante:

El seguimiento de fragments dentro de tabs (por ejemplo usando un ViewPager) es un caso particular: no deberíamos enviar el seguimiento en los métodos onResume y onPause del fragment. Esto es porque, por ejemplo, en el caso del ViewPager, las pantallas son precargadas antes de que sean visibles al usuario, por lo que esos métodos se disparan antes de visibilizarse. Por esto, se necesita hacer un seguimiento más elaborado buscando algún callback útil como el set UserVisibleHint (boolean isVisibleToUser).

 

Seguimiento de eventos

Un evento puede considerarse una acción del usuario en una pantalla (un click, un swipe, un pinch, etc) y en algunos casos es interesante tener registro de alguno de ellos para ver cómo los usuarios interactúan con la UI. Esto nos podría permitir mejorar la UI para que los usuarios se sientan más cómodos con la misma o bien incentivarlos a llegar a cierto destino particular (por lo general, un lugar que implique que el usuario nos haga ganar dinero).

Básicamente un evento consta de los siguientes campos:

  1. Categoría.
  2. Acción.
  3. Etiqueta.

El envío de los eventos es muy sencillo:

Algunos detalles a tener en cuenta cuando se envían eventos es que la SDK de Google Analytics para Android puede limitar los eventos, así como otros hits, si se realiza un gran número de llamadas de envío en un breve periodo.

 

Fuentes:

https://developers.google.com/analytics/devguides/collection/android/v4/?hl=en

https://www.udacity.com/course/google-analytics-for-android–ud876-2

Gastón Goncalves

Trabaja en intive – FDV desde 2012. Desde febrero de 2015, es desarrollador  Android e integra dicha brigada. Antes, también en la compañía, fue desarrollador de Drools y Java EE. Es alumno de la carrera de Ingeniería en Informática de la Universidad de Buenos Aires. En la UBA, también fue docente ayudante de la materia Algoritmos y Programación II de la Facultad de Ingeniería.

Deja un comentario