Amazon Mobile Analytics - SDK para móviles de AWS

El AWS SDK para móviles de Xamarin ahora está incluido en AWS SDK for .NET. Esta guía hace referencia a la versión archivada del SDK para móviles para Xamarin.

Amazon Mobile Analytics

Amazon Mobile Analytics es un servicio para recopilar, visualizar, comprender y extraer los datos de uso de las aplicaciones a gran escala. Mobile Analytics captura fácilmente tanto los datos de dispositivos estándar como los eventos personalizados y genera informes automáticamente. Además de los informes agregados que se indican a continuación, también puede establecer que los datos se exporten automáticamente a Redshift y S3 para seguir analizándolos.

Amazon Mobile Analytics le permite realizar un seguimiento del comportamiento de los clientes, agrupar métricas, generar visualizaciones de datos e identificar patrones significativos.

Conceptos clave

Tipos de informes

A diferencia del resto, Mobile Analytics proporciona los siguientes informes en la consola de Mobile Analytics:

  • Daily Active Users (DAU), Monthly Active Users (MAU) y New Users

  • Sticky Factor (DAU dividido por MAU)

  • Session Count y Average Sessions per Daily Active User

  • Average Revenue per PAU (ARPDAU) y Average Revenue per Paid DAU (ARPPDAU)

  • Day 1, Day 3 y Day 7 Retention y Week 1, Week 2 y Week 3 Retention

  • Custom Events

Estos informes se proporcionan a través de seis pestañas de informes en la consola:

  • Overview: analice los nueve informes preseleccionados en un panel fácil de revisar para hacerse una idea del grado de compromiso: MAU, DAU, New Users, Daily Sessions, Sticky Factor, 1-Day Retention, ARPDAU, Daily Paying Users, ARPPDAU.

  • Active Users: realice un seguimiento de la cantidad de usuarios conectados a la aplicación diariamente y monitorice el factor de adhesión para calibrar el compromiso, el atractivo y la monetización.

  • Sessions: realice un seguimiento de la frecuencia de uso de la aplicación en un determinado día y de la frecuencia con que cada usuario la abre en un día.

  • Retention: realice un seguimiento de la velocidad a la que los clientes vuelven a la aplicación a diario y semanalmente.

  • Revenue: realice un seguimiento de las tendencias de ingresos de la aplicación para identificar áreas de mejora en cuanto a monetización.

  • Eventos personalizados: realice un seguimiento de acciones personalizadas definidas por el usuario específicas de su aplicación.

Para obtener más información acerca de los informes de Mobile Analytics y trabajar en la consola de Mobile Analytics, consulte Mobile Analytics Console Reports Overview en la Guía para desarrolladores de Mobile Analytics.

Configuración del proyecto

Requisitos previos

Para utilizar Mobile Analytics en su aplicación, tendrá que añadir el SDK al proyecto. Para ello, siga las instrucciones que se describen en Setting Up the AWS Mobile SDK for .NET and Xamarin.

Configuración de Mobile Analytics

Mobile Analytics define algunos ajustes que se pueden configurar en el archivo awsconfig.xml:

var config = new MobileAnalyticsManagerConfig(); config.AllowUseDataNetwork = true; config.DBWarningThreshold = 0.9f; config.MaxDBSize = 5242880; config.MaxRequestSize = 102400; config.SessionTimeout = 5;
  • SessionTimeout: si la aplicación permanece en segundo plano durante un tiempo superior al SessionTimeout, el cliente de Mobile Analytics termina la sesión actual y crea otra cuando la aplicación vuelve a primer plano. Le recomendamos que utilice valores entre 5 y 10. El valor predeterminado es 5.

  • MaxDBSize: tamaño máximo de la base de datos (en bytes) utilizados para el almacenamiento local de eventos. Si el tamaño de la base de datos supera este valor, los eventos adicionales se ignorarán. Le recomendamos que utilice valores entre 1 MB y 10 MB. El valor predeterminado es 5242880 (5 MB).

  • DBWarningThreashold: umbral de advertencia. Los valores válidos oscilan entre 0 y 1. Si los valores superan el umbral de advertencia se generarán nuevos registros. El valor predeterminado es 0.9.

  • MaxRequestSize: tamaño máximo de una solicitud HTTP realizada al servicio Mobile Analytics. El valor se especifica en bytes y puede oscilar entre 1-512 KB. El valor predeterminado es 102400 (100 KB). No utilice valores mayores de 512 KB, porque podría provocar que el servicio rechazara la solicitud HTTP.

  • AllowUseDataNetwork: un valor que indica si se permiten llamadas de servicio a través de una red móvil. Utilice esta opción con precaución ya que puede aumentar el uso de los datos del cliente.

La configuración mostrada incluye los valores predeterminados para cada elemento de configuración.

Integración de Mobile Analytics con su aplicación

En las secciones siguientes se explica el procedimiento para integrar Mobile Analytics con una aplicación.

Creación de una aplicación en la consola de Mobile Analytics

Vaya a la consola de Amazon Mobile Analytics y cree una aplicación. Tome nota del valor de appId, ya que lo necesitará posteriormente. Al crear una aplicación en la consola de Mobile Analytics, tendrá que especificar el ID de su grupo de identidades. Para obtener instrucciones sobre cómo crear un grupo de identidades consulte Setting Up the AWS Mobile SDK for .NET and Xamarin.

Para obtener más información sobre el funcionamiento de la consola de Mobile Analytics, consulte Mobile Analytics Console Reports Overview</ en la Guía para desarrolladores de Mobile Analytics.

Crear un cliente MobileAnalyticsManager

Para inicializar MobileAnalyticsManager, llame a GetOrCreateInstance en MobileAnalyticsManager y transfiera las credenciales de AWS, su región, su ID de aplicación de Mobile Analytics y el objeto de configuración opcional:

// Initialize the MobileAnalyticsManager analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( cognitoCredentials, RegionEndpoint.USEast1, APP_ID, config );

El APP_ID se genera durante la ejecución del asistente de creación de aplicaciones. Ambos valores deben coincidir con los de la consola de Mobile Analytics. El valor de APP_ID se utiliza para agrupar los datos en la consola de Mobile Analytics. Para encontrar el ID de la aplicación después de crearla en la consola de Mobile Analytics, vaya a la consola de Mobile Analytics y haga clic en el icono del engranaje situado en la esquina superior derecha de la pantalla. Se mostrará la página App Management, que incluye una lista de todas las aplicaciones registradas y los ID de aplicación correspondientes.

Registro de eventos de monetización

AWS Mobile SDK para .NET y Xamarin proporciona la clase MonetizationEvent, que permite generar eventos de monetización para realizar un seguimiento de las compras realizadas en las aplicaciones móviles. El siguiente fragmento de código muestra cómo crear un evento de monetización:

// Create the monetization event object MonetizationEvent monetizationEvent = new MonetizationEvent(); // Set the details of the monetization event monetizationEvent.Quantity = 3.0; monetizationEvent.ItemPrice = 1.99; monetizationEvent.ProductId = "ProductId123"; monetizationEvent.ItemPriceFormatted = "$1.99"; monetizationEvent.Store = "Your-App-Store"; monetizationEvent.TransactionId = "TransactionId123"; monetizationEvent.Currency = "USD"; // Record the monetiziation event analyticsManager.RecordEvent(monetizationEvent);

Registro de eventos personalizados

Mobile Analytics le permite definir eventos personalizados. Los eventos personalizados están íntegramente definidos por usted y le ayudan a realizar un seguimiento de las acciones de los usuarios específicas de su aplicación o su juego. Para obtener más información sobre eventos personalizados, consulte Eventos personalizados.

En este ejemplo, vamos a suponer que la aplicación es un juego y que queremos registrar un evento cuando un usuario complete un nivel. Cree un evento "LevelComplete". Para ello, cree una nueva instancia de AmazonMobileAnalyticsEvent:

CustomEvent customEvent = new CustomEvent("LevelComplete"); // Add attributes customEvent.AddAttribute("LevelName","Level1"); customEvent.AddAttribute("CharacterClass","Warrior"); customEvent.AddAttribute("Successful","True"); // Add metrics customEvent.AddMetric("Score",12345); customEvent.AddMetric("TimeInLevel",64); // Record the event analyticsManager.RecordEvent(customEvent);

Registro de sesiones

Xamarin iOS

Cuando la aplicación deja de ser el elemento activo, puede hacer una pausa en la sesión. En aplicaciones para iOS, en el archivo AppDelegate.cs, anule DidEnterBackground y WillEnterForeground para llamar a MobileAnalyticsManager.PauseSesion y MobileAnalyticsManager.ResumeSession, tal y como se muestra en el siguiente fragmento:

public override void DidEnterBackground(UIApplication application) { // ... _manager.PauseSesson(); // ... } public override void WillEnterForeground(UIApplication application) { // ... _manager.ResumeSession(); // ... }

Xamarin Android

En aplicaciones para Android, llame a MobileAnalyticsManager.PauseSesion en el método OnPause() y MobileAnalyticsManager.ResumeSession en el método OnResume, tal y como se muestra en el siguiente fragmento de código:

protected override void OnResume() { _manager.ResumeSession(); base.OnResume(); } protected override void OnPause() { _manager.PauseSession(); base.OnPause(); }

De forma predeterminada, si el usuario cambia el foco a otro elemento distinto de la aplicación durante menos de 5 segundos y vuelve a la aplicación, la sesión se reanuda. Si el usuario cambia el foco a un elemento distinto de la aplicación durante 5 segundos o más, se crea una nueva sesión. Se puede configurar este ajuste en el archivo de configuración aws_mobile_analytics.json estableciendo la propiedad "SESSION_DELTA" en el número de segundos que se debe esperar para crear una sesión.