Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Flurry analytics

Flurry analytics

Jose I. Honrado

June 21, 2012
Tweet

More Decks by Jose I. Honrado

Other Decks in Programming

Transcript

  1. ¿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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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]; // ... }
  7. 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"];
  8. 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];
  9. 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]; }
  10. 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];
  11. 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"];
  12. 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];
  13. 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];
  14. 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]; // ... }
  15. 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
  16. 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