[Windows Phone] Añadir Flurry Analytics en tus Apps

Introducción. La importancia de las métricas

Una vez publicada una aplicación en la Store recibir feedback sobre
la misma es sumamente útil. El Dev Center nos facilita información como
el número de descargas totales, descargas por países, fallos de la
aplicación, etc. Esta información es muly útil para saber en que
mercados esta teniendo más éxito nuestra aplicación y donde debemos
aplicar más esfuerzo con traducciones o que partes de la aplicación
fallan y debemos corregir. Pero… ¿es suficiente?. Como casi todo en la
vida, depende. A algunos les sobra con dicha información y para otros es
muy escasa. Sería interesante saber información como cuanto tiempo
estan los usuarios con nuestra aplicación, por que páginas navega, por
donde nunca pasa el usuario, desde que dispositivos accede, etc. Con
esta información podemos sacar muchas conclusiones como detectar
problemas de UX, añadir un mayor esfuerzo en zonas de la aplicación
donde el usuario pasa la mayor parte del tiempo, esforzarnos por
facilitar y promover el acceso a zonas apenas accedidas, corrección de
bugs, etc.

¿Cómo podemos obtener toda esa información?

Flurry Analytics

El agende de Flurry Analytics para Windows Phone permite de manera
gratuita conseguir analíticas de uso y comportamiento de nuestras
aplicaciones.

Para comenzar a utilizar Flurry Analytics comenzaremos realizando el registro en: flurry.com.

Tras registrarnos y validar nuestras credenciales creamos una
aplicación para obtener un application key válido que nos permita
integrar Flurry en nuestra aplicación.

Elegimos de que tipo de aplicación deseamos obtenemos analíticas:

Tras elegir plataforma, rellenamos la información básica de la aplicación, nombre y categoría:

Por último, tendremos nuestra aplicación creada y todo listo para
comenzar a integrar Flurry en nuestra aplicación Windows Phone:

Descargamos el archivo comprimido con todo lo necesario:

  • Documentación
  • La librería a utilizar en nuestra aplicación Windows Phone
  • El Application Key

Flurry SDK

Descomprimimos el contenido del archivo comprimido:

Integración en nuestra App

Vamos a realizar un ejemplo práctico donde integrar Flurry Analytics. Creamos un nuevo proyecto.

Añadimos la referencia a la librería FlurryWP8SDK.dll que teníamos disponible en el archivo descomprimido previamente.

En el archivo de manifiesto, WMAppManifiest.xml, para que todo funcione correctamente añadimos las siguientes capacidades:

  • ID_CAP_NETWORKING
  • ID_CAP_IDENTITY_DEVICE

NOTA: En todo proyecto Windows Phone la primera
de las capabilities viene macada por defecto. Sin embargo, la segunda
capability debemos marcarla para que las analíticas de Flurry funcionen
correctamente.

En el evento Application_Launching añadimos:

private void Application_Launching(object sender, LaunchingEventArgs e)
{
     FlurryWP8SDK.Api.StartSession("FLURRY_API_KEY");
}

Y en el evento Application_Activated:

private void Application_Activated(object sender, ActivatedEventArgs e)
{
     FlurryWP8SDK.Api.StartSession("FLURRY_API_KEY");
}

Y listo!

¿Ya?, ¿de verdad?. Pues si, con tan solo los pasos anteriores
conseguimos una gran cantidad de información relacionada con nuestra
aplicación. Información como:

  • Dispositivos usados
  • Número de usuarios
  • Idiomas usados
  • Versiones
  • Zonas geográficas
  • Frecuencia de uso
  • Tiempo que cada usuario permanece en la aplicación
  • Etc

Tracking Avanzado

Una parte importante a tener en cuenta cuando publicamos una
aplicación en la Store, es su correcto funcionamiento bajo cualquier
entorno y circunstancia. Por lo tanto, tener constancia de cuantos
errores tenemos en nuestra aplicación y de que tipo nos da una gran
ventaja a la hora de resolver los errores y garantizar la calidad
exigida e nuestra aplicación.

¿Cómo podemos sacar beneficio de las analíticas de nuestra aplicación para ello?

Con las analíticas de errores. Podemos registrar las excepciones de nuestra aplicación utilizando el método LogError:

FlurryWP8SDK.Api.LogError(String message, Exception exception)

NOTA: Flurry capturara los 10 últimos errores registrados por sesión con un máximo de 256 carácteres  en el mensaje por error.

De esta forma podemos controlar excepciones de una manera muy
sencilla. Ante casos no esperados, la aplicación se cerrará entrando en
última instancia en el método Application_UnhandledException de App.xaml.cs.

Por lo tanto, podemos capturar toda expceción no controlada facilmente:

private void Application_UnhandledException ( object sender, ApplicationUnhandledExceptionEventArgs e)
{
     if (System.Diagnostics.Debugger.IsAttached)
          System.Diagnostics.Debugger.Break ();
 
     FlurryWP8SDK.Api.LogError ( "Application_UnhandledException" , e.ExceptionObject);
}

Otro factor de interés del que tener analíticas más exactas es de los eventos que suceden en nuestra aplicación. Usaremos el método LogEvent
para añadir analíticas de eventos pudiendo registrar no solo un evento
sino los parámetros que recibe. Gracias a este tipo de analíticas
podemos saber por ejemplo que secuencias de acciones suele realizar la
mayoría de usuarios o cuales apenas se realizan por ejemplo.

FlurryWP8SDK.Api.LogEvent(string eventId, bool timed, List<Parameter> parameters)

NOTA: Tenemos una limitación de 10 parámetros por
evento. Además nuestra aplicación no puede superar los 300 eventos
registrados. Aun asi, en la mayoría de ocasiones, son valores muy altos
que nos permiten tener unas trazas muy exactas de lo que sucede en
nuestra aplicación.

Otras analíticas

Dentro del SDK de Flurry Analytics tenemos otros métodos que nos permiten registrar analíticas de más tipos como por ejemplo:

  • Registrar vistas utilizando el método LogPageView:

FlurryWP8SDK.Api.LogPageView()

  • Edad de los usuarios utilizando el método SetAge:

FlurryWP8SDK.Api.SetAge(int age)

  • Género de los usuarios utilizando el método SetGender:

FlurryWP8SDK.Api.SetGender(Gender gender)

  • Localización exacta del usuario con información del GPS utilizando el método SetLocation:

FlurryWP8SDK.Api.SetLocation(double latitude, double longitude, float accuracy)

  • Etc.

Además tenemos la posibilidad de controlar cuando se registra la información desde que sucede.

Podéis descargar un ejemplo utilizando Flurry Analytics a continuación:

NOTA: Debéis introducir vuestro Flurry API Key propio para poder probar el ejemplo.

Como hemos podido ver, añadir Flurry Analytics es un proceso rápido y
sencillo que nos aporta una gran cantidad de analíticas sobre el uso de
nuestra aplicación que podemos debemos utilizar para gestionar las actualizaciones de nuestra aplicación acorde a las necesidades y usos de la misma.

Más información

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *