

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Synchronisieren von Benutzerdaten mit Cognito Sync
<a name="getting-started-sync-data"></a>

Mit Amazon Cognito Sync können Sie mobile Benutzerdaten (wie App-Benutzereinstellungen oder Spielstände) einfach in der AWS Cloud speichern, ohne dafür Backend-Code zu schreiben oder eine Infrastruktur zu verwalten. Sie können Daten lokal auf den Geräten der Benutzer speichern. So funktionieren Ihre Anwendungen auch dann, wenn die Geräte offline sind. Außerdem können Sie die Daten über die Geräte eines Benutzers synchronisieren und ein konsistentes App-Erlebnis schaffen – unabhängig vom verwendeten Gerät.

Das Tutorial unten erläutert, wie Sync in die App integriert werden kann.

## Projekteinrichtung
<a name="project-setup"></a>

### Prerequisites
<a name="prerequisites"></a>

Befolgen Sie alle Anweisungen unter [Einrichten von AWS Mobile SDK for .NET and](setup.md) Xamarin, bevor Sie mit diesem Tutorial beginnen.

### Gewähren des Zugriffs auf Cognito Sync-Ressourcen
<a name="grant-access-to-your-cognito-sync-resources"></a>

Die Standardrichtlinie, die den im Rahmen der Einrichtung erstellten Rollen für nicht authentifizierte und authentifizierte Benutzer zugeordnet ist, gewährt der Anwendung Zugriff auf Cognito Sync. Weitere Konfigurationsarbeiten sind nicht erforderlich.

### Hinzufügen eines NuGet Pakets für Cognito Sync zu Ihrem Projekt
<a name="add-nuget-package-for-cognito-sync-to-your-project"></a>

Befolgen Sie Schritt 4 der Anweisungen unter [Einrichten von AWS Mobile SDK for .NET and](setup.md) Xamarin, um das SyncManager NuGet Cognito-Paket Ihrem Projekt hinzuzufügen.

## Initialisieren des CognitoSyncManager
<a name="initialize-the-cognitosyncmanager"></a>

Übergeben Sie den initialisierten Amazon Cognito-Anmeldeinformationsanbieter an den `CognitoSyncManager`-Konstruktor:

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

## Synchronisieren von Benutzerdaten
<a name="syncing-user-data"></a>

Synchronisieren Sie die Daten nicht authentifizierter Benutzer wie folgt:

1. Erstellen Sie ein Dataset.

1. Fügen Sie dem Dataset Benutzerdaten hinzu.

1. Synchronisieren Sie das Dataset mit der Cloud.

### Erstellen eines Dataset
<a name="create-a-dataset"></a>

Erstellen Sie eine Instance von `Dataset`. Die openOrCreateDataset -Methode wird verwendet, um ein neues Dataset zu erstellen oder eine vorhandene Instance eines lokal auf dem Gerät gespeicherten Datasets zu öffnen:

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

### Hinzufügen von Benutzerdaten zum Dataset
<a name="add-user-data-to-the-dataset"></a>

Benutzerdaten werden in Form von Schlüssel-Wert-Paaren hinzugefügt:

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

Cognito-Datasets fungieren als Wörterbücher, auf deren Werte mit einem Schlüssel zugegriffen werden kann:

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

### Synchronisieren von Datasets
<a name="synchronize-dataset"></a>

Rufen Sie zum Synchronisieren eines Dataset die Synchronisierungsmethode auf:

```
dataset.SynchronizeAsync();

void SyncSuccessCallback(object sender, SyncSuccessEventArgs e) {
  // Your handler code here
}
```

Alle in Datasets geschriebenen Daten werden lokal gespeichert, bis das Dataset synchronisiert wird. Beim Code in diesem Abschnitt ist unterstellt, dass Sie eine nicht authentifizierte Cognito-Identität verwenden, damit die mit der Cloud synchronisierten Benutzerdaten auf jedem Gerät gespeichert werden. Dem Gerät ist eine Geräte-ID zugeordnet. Wenn die Benutzerdaten in die Cloud synchronisiert werden, werden sie mit dieser Geräte-ID verknüpft.

Weitere Informationen zu Cognito Sync erhalten Sie unter [Amazon Cognito Sync](cognito-sync.md).