SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Flurry Analytics
Jose I. Honrado (@Joosee)
NSCoder Night Madrid - 20.06.12
Contenidos
Presentación
Características
Instalación y configuración
Tracking de info. personalizada
Demostración del panel de control
Flurry Analytics 20.06.12
¿Qué es Flurry Analytics?
Servicio gratuito de analítica móvil.
Estadísticas de uso
Segmentación de audiencia
Registro de eventos
Información técnica
www.flurry.com/product/analytics/index.html
Flurry Analytics 20.06.12
Estadísticas de uso
Usuarios: activos, nuevos y retenidos
Sesiones: totales y duración
Frecuencia de uso
Ciclo de vida (0, 30, 60… / días, semanas, meses)
Versiones aplicación
“Páginas” vistas
Flurry Analytics 20.06.12
Audiencia
Intereses: mis apps o por categoría de la App Store
Demográficos: edad y género (real o estimada)
Localización (usando GPS u otros)
Idiomas
Flurry Analytics 20.06.12
Eventos
Sumario: eventos totales y media por sesión
Rutas: eventos por los que pasa el usuario
Funnels: conjunto de eventos que ejecuta un usuario bajo
unas determinadas condiciones
Log: trazas detalladas de todos los eventos
Flurry Analytics 20.06.12
Información técnica
Dispositivos
Operadores
Versiones de firmware
Trazas de errores
Flurry Analytics 20.06.12
Otros
Dashboards personalizados
Segmentos
Alertas
Agregación a nivel de compañía
Informes y funnels “cross-app”
Roles
API XML/JSON
Flurry Analytics 20.06.12
Creando la aplicación
Flurry Analytics 20.06.12
Instalación básica
Flurry Analytics 20.06.12
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
// Opciones de configuración Flurry
// ...
// Arrancamos Flurry
[FlurryAnalytics startSession:FLURRY_API_KEY];
// ...
}
Parámetros de configuración
Flurry Analytics 20.06.12
// Enviar datos al cerrar la aplicación
[FlurryAnalytics setSessionReportsOnCloseEnabled:YES];
// Enviar datos al pausar la aplicación
[FlurryAnalytics setSessionReportsOnPauseEnabled:NO];
// Usar transporte seguro (más lento)
[FlurryAnalytics setSecureTransportEnabled:NO];
// Opciones del log
[FlurryAnalytics setDebugLogEnabled:YES];
[FlurryAnalytics setEventLoggingEnabled:YES];
[FlurryAnalytics setShowErrorInLogEnabled:YES];
// Tiempo de expiración de sesión
[FlurryAnalytics setSessionContinueSeconds:5];
// Versión de la aplicación
[FlurryAnalytics setAppVersion:@"1.2.5"];
Tracking de páginas vistas (1)
Flurry Analytics 20.06.12
// Registrar página vista
[FlurryAnalytics logPageView];
// Registrar todas las páginas vistas de un UINavigationController
[FlurryAnalytics logAllPageViews:self.navigationController];
// Registrar todas las páginas vistas de un UITabBarController
[FlurryAnalytics logAllPageViews:self.tabBarController];
Tracking de páginas vistas (2)
Flurry Analytics 20.06.12
#import "BaseViewController.h"
#import "FlurryAnalytics.h"
@implementation BaseViewController
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Registrar página vista
[FlurryAnalytics logPageView];
}
Tracking de eventos
Flurry Analytics 20.06.12
// Evento simple
[FlurryAnalytics logEvent:@"event_name"];
// Evento con parámetros
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1”, nil];
[FlurryAnalytics logEvent:@"event_name” withParameters:dictionary];
// Evento con duración y parámetros
[FlurryAnalytics logEvent:@"event_name" timed:YES];
[FlurryAnalytics endTimedEvent:@"event_name" withParameters:dictionary];
Tracking de demográficos
Flurry Analytics 20.06.12
// ID o nombre de usuario
[FlurryAnalytics setUserID:@"user_id"];
// Edad
[FlurryAnalytics setAge:22];
// Género
[FlurryAnalytics setGender:@"m"];
Tracking de localización
Flurry Analytics 20.06.12
// Obtenemos localización del usuario
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
[locationManager startUpdatingLocation];
CLLocation *location = locationManager.location;
// Registramos localización
[FlurryAnalytics setLatitude:location.coordinate.latitude
longitude:location.coordinate.longitude
horizontalAccuracy:location.horizontalAccuracy
verticalAccuracy:location.verticalAccuracy];
Reporte de errores (1)
Flurry Analytics 20.06.12
// Registro error usando NSError
[FlurryAnalytics logError:@"mi_error" message:@"error" error:error];
// Registro error usando NSException
[FlurryAnalytics logError:@"mi_excep" message:@"excep" exception:excep];
Reporte de errores (2)
Flurry Analytics 20.06.12
// Función para reportar excepciones no controladas
void uncaughtExceptionHandler(NSException *excep)
{
[FlurryAnalytics logError:@"Uncaught" message:@"Crash!" exception:excep];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
// Establecemos manejador de excepciones no controladas
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
// ...
[FlurryAnalytics startSession:FLURRY_API_KEY];
// ...
}
Flurry Analytics 20.06.12
Demostración
panel de control
Aplicación analizada (1)
Flurry Analytics 20.06.12
Aplicación analizada (2)
Flurry Analytics 20.06.12
Demostración panel de control
Dashboard
Rutas de usuario
Funnels
Información técnica
Segmentos
Alertas
Panel de compañía
Flurry Analytics 20.06.12
Conclusión
Flurry es una excelente herramienta para monitorizar el uso
de nuestras aplicaciones, probablemente la mejor hoy en día.
Sin embargo, hay algún aspecto que se puede mejorar:
Disponer de los datos en tiempo real, o al menos en intervalos
más cortos (por ej. de 30min).
Flurry Analytics 20.06.12
¿Preguntas?
Jose I. Honrado (@Joosee)
about.me/jihonrado
NSCoder Night Madrid - 20.06.12

Más contenido relacionado

Similar a Flurry Analytics

Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
 
Exposicionproyecto 130711103653-phpapp01
Exposicionproyecto 130711103653-phpapp01Exposicionproyecto 130711103653-phpapp01
Exposicionproyecto 130711103653-phpapp01Samuel Guillen
 
Sesion 11 Teoria.pdf
Sesion 11 Teoria.pdfSesion 11 Teoria.pdf
Sesion 11 Teoria.pdfDianaSullcav
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicaciónEmilio Aviles Avila
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladordescarga2009
 
Presentacion #bbmnk
Presentacion #bbmnkPresentacion #bbmnk
Presentacion #bbmnkJuan Miqueo
 
Presentación de Sistema GESTSEG
Presentación de Sistema GESTSEGPresentación de Sistema GESTSEG
Presentación de Sistema GESTSEGdarwinjtc
 
Desvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDesvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDroidcon Spain
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olothojalataverde
 
Curso de MicroStrategy - Sesion 4/4
Curso de MicroStrategy - Sesion 4/4Curso de MicroStrategy - Sesion 4/4
Curso de MicroStrategy - Sesion 4/4anibal goicochea
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en guijc_lovecraft77
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"Alberto Ruibal
 
Analítica Web con Google analytics universidad_alicante
Analítica Web con Google analytics universidad_alicanteAnalítica Web con Google analytics universidad_alicante
Analítica Web con Google analytics universidad_alicanteOveralia
 

Similar a Flurry Analytics (20)

Introduccion a Android
Introduccion a AndroidIntroduccion a Android
Introduccion a Android
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Exposicionproyecto 130711103653-phpapp01
Exposicionproyecto 130711103653-phpapp01Exposicionproyecto 130711103653-phpapp01
Exposicionproyecto 130711103653-phpapp01
 
Sesion 11 Teoria.pdf
Sesion 11 Teoria.pdfSesion 11 Teoria.pdf
Sesion 11 Teoria.pdf
 
Herramientas de analítica web
Herramientas de analítica webHerramientas de analítica web
Herramientas de analítica web
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Android bootcamp 101 v2.0
Android bootcamp 101 v2.0Android bootcamp 101 v2.0
Android bootcamp 101 v2.0
 
Android master class
Android master classAndroid master class
Android master class
 
Presentacion #bbmnk
Presentacion #bbmnkPresentacion #bbmnk
Presentacion #bbmnk
 
Presentación de Sistema GESTSEG
Presentación de Sistema GESTSEGPresentación de Sistema GESTSEG
Presentación de Sistema GESTSEG
 
VenALaU Entrega Final
VenALaU Entrega FinalVenALaU Entrega Final
VenALaU Entrega Final
 
Desvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDesvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon Spain
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 
Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 
Curso de MicroStrategy - Sesion 4/4
Curso de MicroStrategy - Sesion 4/4Curso de MicroStrategy - Sesion 4/4
Curso de MicroStrategy - Sesion 4/4
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en gui
 
Huella digital 2.0
Huella digital 2.0Huella digital 2.0
Huella digital 2.0
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
Analítica Web con Google analytics universidad_alicante
Analítica Web con Google analytics universidad_alicanteAnalítica Web con Google analytics universidad_alicante
Analítica Web con Google analytics universidad_alicante
 

Flurry Analytics

  • 1. Flurry Analytics Jose I. Honrado (@Joosee) NSCoder Night Madrid - 20.06.12
  • 2. Contenidos Presentación Características Instalación y configuración Tracking de info. personalizada Demostración del panel de control Flurry Analytics 20.06.12
  • 3. ¿Qué es Flurry Analytics? Servicio gratuito de analítica móvil. Estadísticas de uso Segmentación de audiencia Registro de eventos Información técnica www.flurry.com/product/analytics/index.html Flurry Analytics 20.06.12
  • 4. Estadísticas de uso Usuarios: activos, nuevos y retenidos Sesiones: totales y duración Frecuencia de uso Ciclo de vida (0, 30, 60… / días, semanas, meses) Versiones aplicación “Páginas” vistas Flurry Analytics 20.06.12
  • 5. Audiencia Intereses: mis apps o por categoría de la App Store Demográficos: edad y género (real o estimada) Localización (usando GPS u otros) Idiomas Flurry Analytics 20.06.12
  • 6. Eventos Sumario: eventos totales y media por sesión Rutas: eventos por los que pasa el usuario Funnels: conjunto de eventos que ejecuta un usuario bajo unas determinadas condiciones Log: trazas detalladas de todos los eventos Flurry Analytics 20.06.12
  • 7. Información técnica Dispositivos Operadores Versiones de firmware Trazas de errores Flurry Analytics 20.06.12
  • 8. Otros Dashboards personalizados Segmentos Alertas Agregación a nivel de compañía Informes y funnels “cross-app” Roles API XML/JSON Flurry Analytics 20.06.12
  • 9. Creando la aplicación Flurry Analytics 20.06.12
  • 10. Instalación básica Flurry Analytics 20.06.12 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Opciones de configuración Flurry // ... // Arrancamos Flurry [FlurryAnalytics startSession:FLURRY_API_KEY]; // ... }
  • 11. Parámetros de configuración Flurry Analytics 20.06.12 // Enviar datos al cerrar la aplicación [FlurryAnalytics setSessionReportsOnCloseEnabled:YES]; // Enviar datos al pausar la aplicación [FlurryAnalytics setSessionReportsOnPauseEnabled:NO]; // Usar transporte seguro (más lento) [FlurryAnalytics setSecureTransportEnabled:NO]; // Opciones del log [FlurryAnalytics setDebugLogEnabled:YES]; [FlurryAnalytics setEventLoggingEnabled:YES]; [FlurryAnalytics setShowErrorInLogEnabled:YES]; // Tiempo de expiración de sesión [FlurryAnalytics setSessionContinueSeconds:5]; // Versión de la aplicación [FlurryAnalytics setAppVersion:@"1.2.5"];
  • 12. Tracking de páginas vistas (1) Flurry Analytics 20.06.12 // Registrar página vista [FlurryAnalytics logPageView]; // Registrar todas las páginas vistas de un UINavigationController [FlurryAnalytics logAllPageViews:self.navigationController]; // Registrar todas las páginas vistas de un UITabBarController [FlurryAnalytics logAllPageViews:self.tabBarController];
  • 13. Tracking de páginas vistas (2) Flurry Analytics 20.06.12 #import "BaseViewController.h" #import "FlurryAnalytics.h" @implementation BaseViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // Registrar página vista [FlurryAnalytics logPageView]; }
  • 14. Tracking de eventos Flurry Analytics 20.06.12 // Evento simple [FlurryAnalytics logEvent:@"event_name"]; // Evento con parámetros NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1”, nil]; [FlurryAnalytics logEvent:@"event_name” withParameters:dictionary]; // Evento con duración y parámetros [FlurryAnalytics logEvent:@"event_name" timed:YES]; [FlurryAnalytics endTimedEvent:@"event_name" withParameters:dictionary];
  • 15. Tracking de demográficos Flurry Analytics 20.06.12 // ID o nombre de usuario [FlurryAnalytics setUserID:@"user_id"]; // Edad [FlurryAnalytics setAge:22]; // Género [FlurryAnalytics setGender:@"m"];
  • 16. Tracking de localización Flurry Analytics 20.06.12 // Obtenemos localización del usuario CLLocationManager *locationManager = [[CLLocationManager alloc] init]; [locationManager startUpdatingLocation]; CLLocation *location = locationManager.location; // Registramos localización [FlurryAnalytics setLatitude:location.coordinate.latitude longitude:location.coordinate.longitude horizontalAccuracy:location.horizontalAccuracy verticalAccuracy:location.verticalAccuracy];
  • 17. Reporte de errores (1) Flurry Analytics 20.06.12 // Registro error usando NSError [FlurryAnalytics logError:@"mi_error" message:@"error" error:error]; // Registro error usando NSException [FlurryAnalytics logError:@"mi_excep" message:@"excep" exception:excep];
  • 18. Reporte de errores (2) Flurry Analytics 20.06.12 // Función para reportar excepciones no controladas void uncaughtExceptionHandler(NSException *excep) { [FlurryAnalytics logError:@"Uncaught" message:@"Crash!" exception:excep]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Establecemos manejador de excepciones no controladas NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); // ... [FlurryAnalytics startSession:FLURRY_API_KEY]; // ... }
  • 20. Aplicación analizada (1) Flurry Analytics 20.06.12
  • 21. Aplicación analizada (2) Flurry Analytics 20.06.12
  • 22. Demostración panel de control Dashboard Rutas de usuario Funnels Información técnica Segmentos Alertas Panel de compañía Flurry Analytics 20.06.12
  • 23. Conclusión Flurry es una excelente herramienta para monitorizar el uso de nuestras aplicaciones, probablemente la mejor hoy en día. Sin embargo, hay algún aspecto que se puede mejorar: Disponer de los datos en tiempo real, o al menos en intervalos más cortos (por ej. de 30min). Flurry Analytics 20.06.12
  • 24. ¿Preguntas? Jose I. Honrado (@Joosee) about.me/jihonrado NSCoder Night Madrid - 20.06.12