Amazon Mobile Analytics - AWS Mobile SDK para Unity

AWS Mobile SDK para Unity ahora está incluido en AWS SDK for .NET. Esta guía hace referencia a la versión archivada de Mobile SDK para Unity. Para obtener más información, consulte ¿Qué es AWS Mobile SDK para Unity?

Amazon Mobile Analytics

Amazon Mobile Analytics le permite realizar un seguimiento del comportamiento de los clientes, agrupar métricas, generar visualizaciones de datos e identificar patrones significativos. Para obtener información acerca de Mobile Analytics, consulte AWS Mobile Analytics.

Integración de Amazon Mobile Analytics

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.

nota

Para obtener más información acerca del trabajo en la consola, consulte Amazon Mobile Analytics User Guide.

Cuando cree una aplicación en la consola de Mobile Analytics, tendrá que especificar un ID de grupo de identidades de Cognito. Para crear un nuevo grupo de identidades de Cognito y generar un ID, consulte Cognito Identity Developer Guide.

Integración de Mobile Analytics en una aplicación

Para obtener acceso a Mobile Analytics desde Unity, debe utilizar las siguientes declaraciones:

using Amazon.MobileAnalytics.MobileAnalyticsManager; using Amazon.CognitoIdentity;

La práctica recomendada consiste en usar Amazon Cognito para proporcionar credenciales temporales de AWS a su aplicación. Esas credenciales permiten a la aplicación obtener acceso a sus recursos de AWS. Para crear un proveedor de credenciales, siga las instrucciones que se describen en Amazon Cognito Identity.

Cree una instancia de MobileAnalyticsManager con la siguiente información:

  • cognitoIdentityPoolId: ID del grupo de identidades de Cognito para su aplicación

  • cognitoRegion: región del grupo de identidades de Cognito, por ejemplo "RegionEndpoint.USEast1"

  • region: región del servicio Mobile Analytics, por ejemplo, "RegionEndpoint.USEast1"

  • appId: valor generado por la consola de Mobile Analytics al añadir una aplicación

Utilice MobileAnalyticsClientContextConfig para inicializar una instancia de MobileAnalyticsManager , como se muestra en el siguiente fragmento de código:

// Initialize the MobileAnalyticsManager void Start() { // ... analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( new CognitoAWSCredentials(<cognitoIdentityPoolId>, <cognitoRegion>), <region>, <appId>); // ... }
nota

El ID de la aplicación 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 appId 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

El SDK de Unity 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 acerca de los eventos personalizados, consulte Detalles de eventos personalizados. En este ejemplo, supongamos que su aplicación es un juego y que desea 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

Cuando la aplicación deja de ser el elemento activo, puede hacer una pausa en la sesión. En OnApplicationFocus, compruebe si la aplicación está en pausa. De ser así, llame al evento PauseSession; de lo contrario, llame al evento ResumeSession, como se muestra en el siguiente fragmento de código:

void OnApplicationFocus(bool focus) { if(focus) { analyticsManager.ResumeSession(); } else { analyticsManager.PauseSession(); } }

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. Este ajuste se puede configurar en el archivo awsconfig.xml. Para obtener más información, consulte la sección Configuring Mobile Analytics de Introducción al AWS Mobile SDK para Unity.