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.
Sincronizar dados do usuário com Cognito Sync
O Amazon Cognito Sync facilita salvar os dados móveis do usuário, como preferências de aplicativo ou estado do jogo na Nuvem AWS sem gravar qualquer código de back-end nem gerenciar qualquer infraestrutura. Você pode salvar dados localmente nos dispositivos dos usuários permitindo que os aplicativos funcionem até mesmo quando os dispositivos estiverem offline. Você também pode sincronizar os dados nos dispositivos de um usuário para que sua experiência de aplicativo seja consistente, independentemente do dispositivo usado.
O tutorial abaixo explica como integrar o Sync com seu aplicativo.
Configuração do projeto
Pré-requisitos
É necessário concluir todas as instruções na Configuração do AWS Mobile SDK para .NET e Xamarin antes de iniciar este tutorial.
Conceda acesso aos seus recursos do Cognito Sync
A política padrão associada às funções não autenticadas e autenticadas, que você criou durante a configuração, concede ao seu aplicativo acesso ao Cognito Sync. Nenhuma outra configuração é necessária.
Adicione pacotes NuGet para o Cognito Sync ao seu projeto
Siga a etapa 4 das instruções na Configuração do AWS Mobile SDK para .NET e Xamarin para adicionar o pacote NuGet SyncManager do Cognito ao seu projeto.
Inicialize o CognitoSyncManager
Transmita o seu provedor de credenciais do Amazon Cognito inicializado para o construtor CognitoSyncManager
:
CognitoSyncManager syncManager = new CognitoSyncManager ( credentials, new AmazonCognitoSyncConfig { RegionEndpoint = RegionEndpoint.USEast1 // Region } );
Sincronização de dados do usuário
Para sincronizar dados do usuário não autenticados:
-
Crie um conjunto de dados.
-
Adicione os dados do usuário ao conjunto de dados.
-
Sincronize o conjunto de dados com a nuvem.
Crie um conjunto de dados.
Crie uma instância de Dataset
. O método openOrCreateDataset é usado para criar um novo conjunto de dados ou para abrir uma instância existente de um conjunto de dados armazenados localmente no dispositivo:
Dataset dataset = syncManager.OpenOrCreateDataset("myDataset");
Adicione os dados do usuário ao conjunto de dados.
Os dados do usuário são adicionados na forma de pares de chave/valor:
dataset.OnSyncSuccess += SyncSuccessCallback; dataset.Put("myKey", "myValue");
Os conjuntos de dados do Cognito funcionam como dicionários, com valores acessíveis por chave:
string myValue = dataset.Get("myKey");
Sincronizar o conjunto de dados
Para sincronizar um conjunto de dados, chame o método de sincronização:
dataset.SynchronizeAsync(); void SyncSuccessCallback(object sender, SyncSuccessEventArgs e) { // Your handler code here }
Todos os dados gravados em conjuntos de dados serão armazenados localmente até que o conjunto de dados esteja sincronizado. O código nessa seção pressupõe que você esteja usando uma identidade do Cognito não autenticada e, por isso, quando os dados do usuário estiverem sincronizados com a nuvem, eles serão armazenados por dispositivo. O dispositivo tem um ID do dispositivo associado a ele. Quando os dados do usuário estiverem sincronizados com a nuvem, eles serão associados a esse ID do dispositivo.
Para obter mais informações sobre o Cognito Sync, consulte Amazon Cognito Sync.