Analytics para Android I: La sesión

Una de las cosas más importantes que tiene que hacer toda app es medir. Medir qué hacen los usuarios, medir cómo reacciona la aplicación y tener registros de todos los errores y problemas para poder resolverlos. Para todo esto, una de las herramientas más sencillas que se tiene es Analytics, la misma herramienta que ya se usaba para la web, con las pequeñas adaptaciones que tiene su librería Analytics para Android.

Los pasos de instalación para poner la librería a funcionar y usar el EasyTracker para mandar las pantallas y eventos son muy simples, pero hay algunos detalles con los que me ha parecido (a mí) que hay que tener cierto cuidado.

Además dado que la realización de pruebas es lenta ya que en ocasiones hay que esperar a que se reflejen los datos en la plataforma para conocer los resultados, creo que cuanta más información compartamos a este respecto, mejor será para todos.

Analytics

La sesión

El tratamiento de la sesión es algo escabroso. Es cierto que nuestro caso es muy complejo ya que la recolecta de ciertos datos como los errores o las llamadas al servidor perdura todo el tiempo que está la aplicación ejecutándose, incluso en background. Pese a todo no me ha parecido que el funcionamiento de la sesión de Analytics sea muy intuitivo.

Nuestras pruebas nos han indicado que pongas lo que pongas en el parámetro ga_sessionTimeout, si la aplicación no está en primer plano, la sesión termina por morir.

La única manera que hemos encontrado de extenderla lo máximo posible (entre una y dos horas) es reasignándole el contexto unos segundos antes de que vaya a caducarse. Finalmente, pasada esa hora la sesión muere a pesar de que la aplicación se mantenga enviando datos. Lo curioso es que esos datos aparentemente se mantienen, pero la sesión no está activa.

Cuando el usuario vuelve a llevar la aplicación a primer plano la sesión se reactiva y vuelve a proporcionar toda la información y se puede ver en el informe de “tiempo real” de la plataforma de Analytics. Esto es algo, pero desvirtua un poco la información y obliga a tener esos detalles en mente cuando se van a analizar los datos.

¿Vosotros habéis tenido que pelearos con la sesión? ¿tenéis algún consejo sobre cómo deberíamos trabajar con ella?