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

Flurry IconIntroducció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:

Elegimos plataforma, Windows Phone, claro!

Elegimos plataforma, Windows Phone, claro!

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

Datos básicos de la aplicación

Datos básicos de la aplicación

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

Application Key

Application Key

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:

Archivo comprimido Flurry

Archivo comprimido Flurry

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
Analíticas de nuestra aplicación

Analíticas de nuestra aplicación

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.

¿De dónde son tus usuarios?, ¿que dispositivos usan?

¿De dónde son tus usuarios?, ¿que dispositivos usan?

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.
Información relacionada con los usuarios

Información relacionada con los usuarios

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

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s