flurry analytics
TRANSCRIPT
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
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]; // ... }
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