

El SDK AWS móvil para Unity ahora está incluido en AWS SDK para .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 el SDK AWS móvil para Unity?](what-is-unity-plugin.md)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Amazon Mobile Analytics
<a name="analytics"></a>

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](https://aws.amazon.com/mobileanalytics/).

## Integración de Amazon Mobile Analytics
<a name="integrating-amazon-mobile-analytics"></a>

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
<a name="create-an-app-in-the-mobile-analytics-console"></a>

Vaya a la [consola de Amazon Mobile Analytics](https://docs.aws.amazon.com/mobileanalytics/latest/ug/migrate-console.html) 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](https://docs.aws.amazon.com/mobileanalytics/latest/ug/).

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](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html).

### Integración de Mobile Analytics en una aplicación
<a name="integrate-mobile-analytics-into-your-app"></a>

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](cognito-identity.md).

Crea una MobileAnalyticsManager instancia con la siguiente información:
+ cognitoIdentityPoolID: el ID del grupo de identidades de Cognito para tu aplicación
+ CognitoRegion: la región de su grupo de identidades de Cognito, por ejemplo «. RegionEndpoint USEast1»
+ región: la 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

 MobileAnalyticsClientContextConfig Utilízala para inicializar una **`MobileAnalyticsManager`**instancia, tal y 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. Aparecerá la página de administración de aplicaciones, que muestra todas las aplicaciones registradas y sus aplicaciones. IDs

### Registro de eventos de monetización
<a name="record-monetization-events"></a>

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
<a name="record-custom-events"></a>

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](https://aws.amazon.com/mobileanalytics/faqs/#custom-event-details). 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» mediante la creación de una nueva `AmazonMobileAnalyticsEvent` instancia:

```
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
<a name="recording-sessions"></a>

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](getting-started-unity.md).