O AWS Mobile SDK for Xamarin agora está incluído no AWS SDK for .NET. Este guia faz referência à versão arquivada do Mobile SDK para Xamarin.
Configurar o AWS Mobile SDK para .NET e Xamarin
Você pode configurar o AWS Mobile SDK para .NET e Xamarin 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
Pré-requisitos
Antes de usar o AWS Mobile SDK para .NET e Xamarin, você precisa fazer o seguinte:
-
Crie uma conta da AWS
. -
Instale o Xamarin
.
Após concluir os pré-requisitos:
-
Obtenha credenciais da AWS usando o Amazon Cognito.
-
Defina as permissões necessárias para cada serviço da AWS usado no aplicativo.
-
Crie um novo projeto no IDE.
-
Instale o AWS Mobile SDK para .NET e Xamarin.
-
Configure o AWS Mobile SDK para .NET e Xamarin.
Etapa 1: Obter as credenciais da AWS
Para fazer chamadas para a AWS no aplicativo, primeiro obtenha as credenciais da AWS. Faça isso usando o Amazon Cognito, um serviço da AWS que permite que o aplicativo acesse os serviços do SDK sem precisar incorporar as credenciais privadas da AWS ao aplicativo.
Para começar a usar o Amazon Cognito, é necessário criar um banco de identidades. Um grupo de identidades é um armazenamento de informações específico da sua conta e identificado por um ID de grupo de identidades com a seguinte aparência:
"us-east-1:00000000-0000-0000-0000-000000000000"
-
Inicie a sessão no console do Amazon Cognito
, selecione Manage Federated Identities (Gerenciar identidades federadas) e selecione Create new identity pool (Criar grupo de identidades). -
Insira um nome para o grupo de identidades e marque a caixa de seleção para habilitar o acesso a identidades não autenticadas. Selecione Create Pool (Criar grupo) para criar o grupo de identidades.
-
Selecione 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. Esses perfis padrão oferecem ao banco de identidades acesso à sincronização do Amazon Cognito e ao Amazon Mobile Analytics.
Normalmente, você só usa um grupo de identidades por aplicativo.
Após criar o grupo de identidades, você obterá as credenciais da AWS criando um objeto CognitoAWSCredentials
(inserindo o ID do grupo de identidades) e inserindo-o no construtor de um cliente da AWS, da seguinte forma:
CognitoAWSCredentials credentials = new CognitoAWSCredentials ( "us-east-1:00000000-0000-0000-0000-000000000000", // Your identity pool ID RegionEndpoint.USEast1 // Region ); // Example for |MA| analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( credentials, RegionEndpoint.USEast1, // Region APP_ID // app id );
Etapa 2: Definir permissões
Defina permissões para cada serviço da AWS a ser usado no aplicativo. Primeiro, você precisa entender como a AWS visualiza os usuários do aplicativo.
Quando alguém usa o aplicativo e faz chamadas para a AWS, ela atribui uma identidade a esse usuário. O grupo de identidades criado na Etapa 1 é o local onde a AWS armazena essas identidades. Existem dois tipos de identidades: autenticados e não autenticados. As identidades autenticadas pertencem a usuários que serão autenticados por meio de um provedor de login público (por exemplo, Facebook, Amazon, Google). As identidades não autenticadas pertencem a usuários convidados.
Cada identidade é associada a uma função do AWS Identity and Access Management. Na Etapa 1, você criou dois perfis do IAM, um para usuários autenticados e outro para usuários não autenticados. Cada perfil do IAM tem uma ou mais políticas anexadas a ele que especificam quais serviços da AWS as identidades atribuídas a esse perfil podem acessar. Por exemplo, a política de exemplo a seguir concede acesso a um bucket do Amazon S3:
{ "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::MYBUCKETNAME/*", "Principal": "*" } ] }
Para definir permissões para os serviços da AWS que você deseja usar no aplicativo, modifique a política anexada aos perfis.
-
Acesse o console do IAM e selecione Roles (Funções)
. Digite o nome do grupo de identidades na caixa de pesquisa. Escolha o perfil do IAM que você deseja configurar. Se o aplicativo permitir usuários autenticados e não autenticados, você precisará conceder permissões para ambas as funções. -
Clique em Attach Policy (Associar política), selecione a política desejada e clique em Attach Policy (Associar política). As políticas padrão dos perfis do IAM que você criou fornecem acesso ao Amazon Cognito e ao Mobile Analytics.
Para obter mais informações sobre como criar políticas ou escolher um item em uma lista de políticas, consulte Políticas do IAM.
Etapa 3: Criar um novo projeto da
Windows
Você pode usar o Visual Studio para desenvolver seu aplicativo.
OS X
Você pode usar o Visual Studio para desenvolver aplicativos. O desenvolvimento para iOS usando o Xamarin requer acesso a um Mac para executar o aplicativo. Para obter mais informações, consulte Como instalar o Xamarin.iOS no Windows
nota
O IDE Rider
Etapa 4: Instalar o AWS Mobile SDK para .NET e Xamarin
Windows
Opção 1: Instalar usando o console do Package Manager
O AWS Mobile SDK para .NET e Xamarin consiste em um conjunto de assemblies .NET. Para instalar o AWS Mobile SDK para .NET e Xamarin, execute o comando install-package para cada pacote no console do Package Manager. Por exemplo, para instalar o Cognito Identity, execute o seguinte:
Install-Package AWSSDK.CognitoIdentity
Os pacotes do AWS Core Runtime e do Amazon Cognito Identity são necessários em todos os projetos. Veja a seguir uma lista completa de nomes de pacotes para cada serviço.
Serviço | Nome do pacote |
---|---|
AWS Core Runtime |
AWSSDK.Core |
Amazon Cognito Sync |
AWSSDK.CognitoSync |
Amazon Cognito Identity |
AWSSDK.CognitoIdentity |
Amazon DynamoDB |
AWSSDK.DynamoDBv2 |
Amazon Mobile Analytics |
AWSSDK.MobileAnalytics |
Amazon S3 |
AWSSDK.S3 |
Amazon SNS |
AWSSDK.SimpleNotificationService |
Para incluir um pacote de pré-lançamento, inclua o argumento de linha de comando -Pre
durante a instalação do pacote, da seguinte forma:
Install-Package AWSSDK.CognitoSync -Pre
Veja uma lista completa de pacotes de serviços da AWS em Pacotes do AWS SDK no NuGet
Opção 2: Instalar usando o IDE
No Visual Studio
-
Clique com o botão direito do mouse no projeto e clique em Manage NuGet Packages (Gerenciar pacotes NuGet).
-
Procure o nome do pacote que você deseja adicionar ao projeto. Para incluir os pacotes NuGet de pré-lançamento, selecione Include Prelease (Incluir pré-lançamento). Você pode encontrar uma lista completa de pacotes de serviço da AWS nos Pacotes do AWS SDK no NuGet
. -
Escolha o pacote e, em seguida, escolha Install.
Mac (OS X)
No Visual Studio
-
Clique com o botão direito do mouse na pasta de pacotes e clique em Add Packages (Adicionar pacotes).
-
Procure o nome do pacote que você deseja adicionar ao projeto. Para incluir os pacotes NuGet de pré-lançamento, selecione Show pre-release packages (Mostrar pacotes de pré-lançamento). Você pode encontrar uma lista completa de pacotes de serviço da AWS nos Pacotes do AWS SDK no NuGet
. -
Marque a caixa de seleção ao lado do pacote desejado e selecione Add Package (Adicionar pacote).
Importante
Se você estiver fazendo um desenvolvimento usando a biblioteca de classes portátil, adicione também o pacote AWSSDK.Core NuGet a todos os projetos criados a partir dessa biblioteca.
Etapa 5: Configurar o AWS Mobile SDK para .NET e Xamarin
Definição do registro
Definas as configurações de registro usando as classes Amazon.AWSConfigs
e Amazon.Util.LoggingConfig
. Você as encontrará no assembly AWSSdk.Core
, disponível por meio do Nuget Package Manager no Visual Studio. Insira o código das configurações de registro no método OnCreate
do arquivo MainActivity.cs
para aplicativos Android ou do arquivo AppDelegate.cs
para aplicativos iOS. Você também deve adicionar as instruções using
Amazon
e using Amazon.Util
aos arquivos .cs.
Defina as configurações de registro da seguinte maneira:
var loggingConfig = AWSConfigs.LoggingConfig; loggingConfig.LogMetrics = true; loggingConfig.LogResponses = ResponseLoggingOption.Always; loggingConfig.LogMetricsFormat = LogMetricsFormatOption.JSON; loggingConfig.LogTo = LoggingOptions.SystemDiagnostics;
Quando você se registra em SystemDiagnostics, a estrutura imprime internamente a saída para o System.Console. Se você deseja registrar respostas HTTP, defina o sinalizador LogResponses
. Os valores podem ser Always, Never ou OnError.
Você também pode registrar as métricas de desempenho das solicitações HTTP usando a propriedade LogMetrics
. O formato do log pode ser especificado através da propriedade LogMetricsFormat
. Os valores válidos são JSON ou standard.
Definição do endpoint da região
Configure a região padrão para todos os clientes do serviço da seguinte maneira:
AWSConfigs.AWSRegion="us-east-1";
Isso define a região padrão para todos os clientes de serviços no SDK. Você pode substituir essa configuração especificando explicitamente a região no momento da criação de uma instância do cliente de serviço, da seguinte maneira:
IAmazonS3 s3Client = new AmazonS3Client(credentials,RegionEndpoint.USEast1);
Definição das configurações de proxy HTTP
Se a rede estiver atrás de um proxy, você poderá definir as configurações de proxy das solicitações HTTP da seguinte maneira.
var proxyConfig = AWSConfigs.ProxyConfig; proxyConfig.Host = "localhost"; proxyConfig.Port = 80; proxyConfig.Username = "<username>"; proxyConfig.Password = "<password>";
Correção da distorção do relógio
Esta propriedade determina se o SDK corrigirá a distorção de relógio do cliente determinando a hora de servidor correta e emitindo novamente a solicitação com a hora correta.
AWSConfigs.CorrectForClockSkew = true;
Este campo será definido se uma chamada de serviço tiver resultado em uma exceção e o SDK tiver determinado que há uma diferença entre a hora local e a hora do servidor.
var offset = AWSConfigs.ClockOffset;
Para saber mais sobre distorção de relógio, consulte Correção de distorção de relógio
Próximas etapas
Agora que configurou o AWS Mobile SDK para .NET e Xamarin, você pode:
-
Comece a usar. Leia Conceitos básicos do AWS Mobile SDK para .NET e Xamarin para obter instruções de início rápido sobre como usar e configurar os serviços no AWS Mobile SDK para .NET e Xamarin.
-
Explore os tópicos de serviço. Saiba mais sobre cada serviço e como ele funciona no AWS Mobile SDK para .NET e Xamarin.
-
Execute as demonstrações. Visualize nossos aplicativos Xamarin de exemplo
que demonstram casos de uso comuns. Para executar os aplicativos de exemplo, configure o AWS Mobile SDK para .NET e Xamarin conforme descrito anteriormente e, depois, siga as instruções contidas nos arquivos README de cada exemplo. -
Conheça as APIs. Visualize o |sdk-xamarin-ref|_.
-
Fazer perguntas: publique perguntas nos Fóruns do AWS Mobile SDK
ou abra um problema no GitHub .