Configurar el AWS Mobile SDK para Unity - 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?

Configurar el AWS Mobile SDK para Unity

Para comenzar a utilizar el AWS Mobile SDK para Unity, puede configurar el SDK y comenzar a compilar un proyecto nuevo, o puede integrar el SDK en un proyecto existente. También puede clonar y ejecutar las muestras para hacerse una idea del funcionamiento del SDK.

Requisitos previos

Para poder usar el AWS Mobile SDK para Unity, necesitará lo siguiente:

  • Una cuenta de AWS

  • Unity versión 4.x o 5.x (se necesita Unity 4.6.4p4 o Unity 5.0.1p3 si quiere escribir aplicaciones que se ejecuten en iOS de 64 bits)

Después de completar los requisitos previos, tendrá que hacer lo siguiente para comenzar:

  1. Descargar el AWS Mobile SDK para Unity.

  2. Configurar el AWS Mobile SDK para Unity.

  3. Obtener las credenciales de AWS con Amazon Cognito.

Paso 1: Descargar el AWS Mobile SDK para Unity

En primer lugar, descargue el AWS Mobile SDK para Unity. Cada paquete del SDK debe consumir el servicio de AWS correspondiente en función del nombre del paquete. Por ejemplo, el paquete aws-unity-sdk-dynamodb-2.1.0.0.unitypackage se usa para llamar al servicio AWS DynamoDB. Puede importar todos los paquetes o solo los que vaya a utilizar.

  1. Abra el editor de Unity y cree un proyecto vacío. Utilice la configuración predeterminada.

  2. Seleccione Assets (Activos) > Import Package (Importar paquete) > Custom Package (Paquete personalizado).

  3. En el cuadro de diálogo Import (Importar), vaya a los archivos .unitypackage que desee usar y selecciónelos.

  4. En el cuadro de diálogo Importing (Importación) de importación de paquetes, compruebe que todos los elementos están seleccionados y haga clic en Import (Importar).

Paso 2: Configurar el AWS Mobile SDK para Unity

Crear una escena

Al trabajar con el AWS Mobile SDK para Unity, puede comenzar incluyendo la siguiente línea de código en el método Start o Awake de la clase de comportamiento mono:

UnityInitializer.AttachToGameObject(this.gameObject);

Elija New Scene (Nueva escena) en el menú File (Archivo) para crear la escena.

El AWS SDK para Unity contiene clases de cliente para cada servicio de AWS que admite. Estos clientes se configuran con un archivo denominado awsconfig.xml. En la siguiente sección se describen la configuración más utilizada en el archivo awsconfig.xml. Para obtener más información sobre la configuración, consulte la Referencia de la API del SDK de Unity.

Configurar la región predeterminada del servicio de AWS

Para configurar la región predeterminada de todos los clientes de servicios:

<aws region="us-west-2" />

De este modo se establece la región predeterminada para todos los clientes de servicios en el SDK de Unity. Esta configuración se puede anular al especificar explícitamente la región en el momento de crear una instancia del cliente de servicio, del siguiente modo:

IAmazonS3 s3Client = new AmazonS3Client(<credentials>,RegionEndpoint.USEast1);

Configurar la información de registro

La configuración de registro se especifica de este modo:

<logging logTo="UnityLogger" logResponses="Always" logMetrics="true" logMetricsFormat="JSON" />

Esta configuración se utiliza para establecer el registro en Unity. Al efectuar el registro en UnityLogger, el marco de trabajo imprime internamente la salida en los registros de depuración. Si desea registrar las respuestas de HTTP, configure la marca logResponses; los valores pueden ser Always, Never u OnError. También puede registrar las métricas de desempeño de las solicitudes de HTTP con la propiedad logMetrics. El formato de registro se puede especificar con la propiedad LogMetricsFormat y los valores válidos son JSON o standard.

En el siguiente ejemplo se muestra la configuración más utilizada en el archivo awsconfig.xml. Para obtener más información sobre la configuración de servicios específicos, consulte la sección de servicios más adelante:

<?xml version="1.0" encoding="utf-8"?> <aws region="us-west-2" <logging logTo="UnityLogger" logResponses="Always" logMetrics="true" logMetricsFormat="JSON" /> />

El SDK utiliza la reflexión para los componentes específicos de plataforma. Si utiliza el backend de scripting IL2CPP, strip bytecode siempre está activado en iOS, por lo que debe tener un archivo link.xml en su raíz de conjunto con las siguientes entradas:

<linker> <!-- if you are using AWSConfigs.HttpClient.UnityWebRequest option--> <assembly fullname="UnityEngine"> <type fullname="UnityEngine.Networking.UnityWebRequest" preserve="all" /> <type fullname="UnityEngine.Networking.UploadHandlerRaw" preserve="all" /> <type fullname="UnityEngine.Networking.UploadHandler" preserve="all" /> <type fullname="UnityEngine.Networking.DownloadHandler" preserve="all" /> <type fullname="UnityEngine.Networking.DownloadHandlerBuffer" preserve="all" /> </assembly> <assembly fullname="mscorlib"> <namespace fullname="System.Security.Cryptography" preserve="all"/> </assembly> <assembly fullname="System"> <namespace fullname="System.Security.Cryptography" preserve="all"/> </assembly> <assembly fullname="AWSSDK.Core" preserve="all"/> <assembly fullname="AWSSDK.CognitoIdentity" preserve="all"/> <assembly fullname="AWSSDK.SecurityToken" preserve="all"/> add more services that you need here... </linker>

Paso 3: Obtener el ID de grupo de identidades mediante Amazon Cognito

Para utilizar los servicios de AWS en su aplicación móvil, debe obtener el ID de grupo de identidades mediante Amazon Cognito Identity. Si usa Amazon Cognito para obtener el ID de grupo de identidades, su aplicación podrá obtener acceso a los servicios de AWS sin tener que integrar sus credenciales privadas en la aplicación. También le permite establecer permisos para controlar a qué servicios de AWS tienen acceso sus usuarios.

Para comenzar a utilizar Amazon Cognito, debe crear un grupo de identidades. Un grupo de identidades es un almacén de datos de identidades de usuarios específicos de su cuenta. Cada grupo de identidades tiene roles de IAM configurables que le permiten especificar a qué servicios de AWS pueden obtener acceso los usuarios de su aplicación. Normalmente, un desarrollador usa un grupo de identidades por aplicación. Para obtener más información sobre los grupos de identidades, consulte la Guía para desarrolladores de Amazon Cognito.

Para crear un grupo de identidades nuevo para su aplicación:

  1. Inicie sesión en la consola de Amazon Cognito y haga clic en Create new identity pool (Crear nuevo grupo de identidades).

  2. Escriba un nombre para el grupo de identidades y marque la casilla de verificación para habilitar el acceso a las identidades sin autenticar. Haga clic en Create Pool (Crear grupo) para crear el grupo de identidades.

  3. Haga clic en Allow (Permitir) para crear los dos roles predeterminados asociados al grupo de identidades: uno para los usuarios sin autenticar y otro para los usuarios autenticados. Estos roles predeterminados proporcionan al grupo de identidades acceso a Cognito Sync y Mobile Analytics.

En la página siguiente se muestra el código que crea un proveedor de credenciales para que pueda integrar fácilmente Cognito Identity en su aplicación de Unity. Pase el objeto de proveedor de credenciales al constructor del cliente de AWS que utilice. El código tiene este aspecto:

CognitoAWSCredentials credentials = new CognitoAWSCredentials ( "IDENTITY_POOL_ID", // Identity Pool ID RegionEndpoint.USEast1 // Region );

Pasos siguientes