Configuração do AWS Mobile SDK para Unity - AWS Mobile SDK para Unity

O AWS Mobile SDK para Unity agora está incluído na AWS SDK for .NET. Este guia faz referência à versão arquivada do Mobile SDK para Unity. Para obter mais informações, consulte O que é o AWS Mobile SDK para Unity?.

Configuração do AWS Mobile SDK para Unity

Para começar a usar o AWS Mobile SDK para Unity, você pode configurar o SDK e começar a criar um novo projeto, ou integrar o SDK a um projeto existente. Você também pode clonar e executar os exemplos para ter uma ideia de como funciona o SDK.

Pré-requisitos

Antes de usar o AWS Mobile SDK para Unity, você precisará do seguinte:

  • Uma conta da AWS

  • Unity na versão 4.x ou 5.x (O Unity 4.6.4p4 ou Unity 5.0.1p3 será obrigatório se você deseja gravar aplicativos que são executados no iOS de 64 bits)

Após preencher os pré-requisitos, você precisará fazer o seguinte para começar:

  1. Fazer download do AWS Mobile SDK para Unity.

  2. Configurar o AWS Mobile SDK para Unity.

  3. Obter credenciais da AWS, usando o Amazon Cognito.

Etapa 1: fazer download do AWS Mobile SDK para Unity

Em primeiro lugar, faça download do AWS Mobile SDK para Unity. Cada pacote no SDK é obrigatório para utilizar o serviço correspondente da AWS, de acordo com o nome do pacote. Por exemplo, o pacote aws-Unity-sdk-dynamodb-2.1.0.0.unitypackage é usado para chamar o serviço do AWS DynamoDB. Você pode importar todos os pacotes ou apenas os que pretende usar.

  1. Abra o editor do Unity editor e crie um novo projeto em branco; use as configurações padrão.

  2. Selecione Assets (Ativos) > Import Package (Importar pacote) > Custom Package (Pacote personalizado).

  3. Na caixa de diálogo Import (Importar) pacote, navegue e selecione os arquivos .unitypackage arquivos que deseja usar.

  4. Na caixa de diálogo Importing (Importação) de pacotes, certifique-se de que todos os itens estão selecionados e clique em Import (Importar).

Etapa 2: configurar o AWS Mobile SDK para Unity

Criar um Cenário

Ao trabalhar com o AWS Mobile SDK para Unity, você pode começar a usá-lo ao incluir a seguinte linha de código no comportamento mono do Start ou método Awake de sua classe de conduta:

UnityInitializer.AttachToGameObject(this.gameObject);

Crie seu cenário, selecionando New Scene (Novo Cenário) no menu File (Arquivo).

O AWS SDK para Unity contém as classes de clientes referentes a cada serviço da AWS compatível. Esses clientes são configurados usando um arquivo chamado awsconfig.xml. A seção a seguir descreve as configurações mais usadas no arquivo awsconfig.xml. Para obter mais informações sobre essas configurações, consulte a Referência de API para o Unity SDK.

Defina a região padrão do Serviço da AWS

Para configurar a região padrão de todos os clientes do serviço:

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

Isso define a região padrão para todos os clientes de serviços no Unity SDK. Esta configuração pode ser substituída, especificando explicitamente a região no momento da criação de uma instância do cliente de serviço, da seguinte forma:

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

Defina as Informações de Log

As configurações de registro são especificadas da seguinte maneira:

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

Esta configuração é usada para configurar o registro em log no Unity. Quando você se registra em UnityLogger, a estrutura imprime internamente o resultado para os registros de depuração. Se você deseja registrar as respostas HTTP, defina o sinalizador logResponses – os valores podem ser Sempre, Nunca ou OnError. Você também pode registrar as métricas de desempenho das solicitações HTTP, usando a propriedade logMetrics. O formato de registro pode ser especificado usando a propriedade LogMetricsFormat. Os valores válidos são JSON ou padrão.

O exemplo a seguir mostra as configurações mais usadas no arquivo awsconfig.xml. Para obter mais informações sobre as configurações de serviço específicas do serviço, consulte a seção a seguir:

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

O SDK usa a reflexão nos componentes específicos da plataforma. Se você estiver usando o back-end do script IL2CPP, strip bytecode estará sempre ativado no iOS, para que você precise ter um arquivo link.xml em sua montagem root, contendo as seguintes 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>

Etapa 3: obter o ID do grupo de identidades usando o Amazon Cognito

Para usar os serviços da AWS em seu aplicativo móvel, você deve obter o ID do grupo de identidades, usando a identidade do Amazon Cognito. Usar o Amazon Cognito para obter o ID do grupo de identidades permite que o seu aplicativo acesse os serviços da AWS sem a necessidade de incorporar suas credenciais privadas ao aplicativo. Esta ação também permite que você defina permissões para controlar a quais serviços da AWS os usuários têm acesso.

Para começar a usar o Amazon Cognito, é necessário criar um grupo de identidades. Um grupo de identidades é um repositório de dados de identidade de usuários específicos para sua conta. Cada grupo de identidades dispõe de funções do IAM configuráveis, que permitem que você especifique quais serviços da AWS os usuários do seu aplicativo poderão acessar. Normalmente, o desenvolvedor usará apenas um grupo de identidades por aplicativo. Para obter mais informações sobre grupos de identidades, consulte o Guia do desenvolvedor do Amazon Cognito.

Para criar um grupo de identidades para o aplicativo:

  1. Faça login no Console do Amazon Cognito e clique em Create new identity pool (Criar novo grupo de identidades).

  2. Insira um nome referente ao Grupo de identidades e marque a caixa de seleção para habilitar o acesso a identidades não autenticadas. Clique em Create Pool (Criar grupo) para criar o grupo de identidades.

  3. Clique em Allow (Permitir) para criar as duas funções padrão associadas ao grupo de identidades, uma para usuários não autenticados e outra para usuários autenticados. Essas funções padrão oferecem ao grupo de identidades acesso à sincronização do Cognito e ao Mobile Analytics.

A próxima página exibe o código que cria um provedor de credenciais, para que você possa integrar facilmente a identidade do Cognito ao aplicativo Unity. Transmita o objeto do provedor de credenciais para o construtor do cliente da AWS que está usando. O código é semelhante a:

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

Próximas etapas