Sincronización de datos de usuario con Cognito Sync - SDK para móviles de AWS

El AWS SDK para móviles de Xamarin ahora está incluido en AWS SDK for .NET. Esta guía hace referencia a la versión archivada del SDK para móviles para Xamarin.

Sincronización de datos de usuario con Cognito Sync

Amazon Cognito Sync facilita el almacenamiento de datos de usuarios móviles, tales como las preferencias de aplicaciones o el estado de los videojuegos, en AWS Cloud sin tener que escribir código backend ni administrar infraestructuras. Puede guardar los datos en los dispositivos de los usuarios para que las aplicaciones puedan trabajar incluso cuando los dispositivos estén desconectados. Puede sincronizar los datos de los diferentes dispositivos de un usuario para que su experiencia con la aplicación sea homogénea, sea cual sea el dispositivo que use.

El siguiente tutorial explica cómo integrar Sync con su aplicación.

Configuración del proyecto

Requisitos previos

Debe seguir las instrucciones en Setting Up the AWS Mobile SDK for .NET and Xamarin antes de comenzar este tutorial.

Permitir acceso a los recursos de Cognito Sync

La política asociada por defecto a los roles autenticados y no autenticados que creó durante la configuración permite que su aplicación pueda acceder Cognito Sync. No se necesitan más configuraciones.

Añadir NuGet Package para Cognito Sync a su proyecto

Siga el paso 4 de las instrucciones en Setting Up the AWS Mobile SDK for .NET and Xamarin para añadir el paquete Cognito SyncManager NuGet a su proyecto.

Inicialización de CognitoSyncManager

Pase el proveedor de credenciales de Amazon Cognito inicializado al constructor CognitoSyncManager:

CognitoSyncManager syncManager = new CognitoSyncManager ( credentials, new AmazonCognitoSyncConfig { RegionEndpoint = RegionEndpoint.USEast1 // Region } );

Sincronización de los datos de usuario

Para sincronizar datos de usuario sin autenticar:

  1. Cree un conjunto de datos.

  2. Añada los datos de usuario al conjunto de datos.

  3. Sincronice el conjunto de datos con la nube.

Crear un conjunto de datos

Cree una instancia de Dataset. El método openOrCreateDataset se utiliza para crear un nuevo conjunto de datos o abrir una instancia de un conjunto existente almacenado localmente en el dispositivo:

Dataset dataset = syncManager.OpenOrCreateDataset("myDataset");

Añadir los datos de usuario al conjunto de datos

Los datos de usuario se añaden en forma de pares clave/valor:

dataset.OnSyncSuccess += SyncSuccessCallback; dataset.Put("myKey", "myValue");

Los conjuntos de datos de Cognito funcionan como diccionarios, con valores accesibles por clave:

string myValue = dataset.Get("myKey");

Sincronizar conjuntos de datos

Para sincronizar un conjunto de datos, llame a su método de sincronización:

dataset.SynchronizeAsync(); void SyncSuccessCallback(object sender, SyncSuccessEventArgs e) { // Your handler code here }

Los datos escritos en conjuntos de datos se almacenarán localmente hasta que el conjunto de datos se haya sincronizado. En el código de esta sección se asume que usted está utilizando una identidad de Cognito sin autenticar, por lo que, cuando los datos de usuario se sincronicen con la nube, estos se almacenarán por dispositivo. El dispositivo tiene asociado un ID. Cuando los datos de usuario se sincronicen en la nube se asociarán con el ID de ese dispositivo.

Para obtener más información acerca de Cognito Sync, consulte Amazon Cognito Sync.