

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.

# -EinrichtungAWS Mobile SDK for .NET and Xamarin
<a name="setup"></a>

Sie können AWS Mobile SDK for .NET and Xamarin einrichten und mit der Erstellung eines neuen Projekts beginnen oder das SDK in ein vorhandenes Projekt integrieren. Sie können die [Beispiele](https://github.com/awslabs/aws-sdk-net-samples/tree/master/XamarinSamples) auch klonen und ausführen, um eine Vorstellung davon zu erhalten, wie das SDK funktioniert. Befolgen Sie diese Schritte, um einzurichten und zu verwenden.AWS Mobile SDK for .NET and Xamarin.

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

Vor Verwendung von AWS Mobile SDK for .NET and Xamarin müssen Sie die folgenden Arbeiten durchführen:
+ Erstellen Sie ein [AWS-Konto](https://aws.amazon.com/).
+ Installieren Sie die [Xamarin-Plattform](https://xamarin.com/).
+  **Windows-Benutzer:** [Xamarin: Getting Started for Windows](http://developer.xamarin.com/guides/cross-platform/windows/) 
+  **Mac-Benutzer:** [Xamarin: Getting Started for Mac](http://developer.xamarin.com/guides/mac/getting_started/installation/). (vollständig).

Sobald die Voraussetzungen erfüllt sind:

1. Rufen Sie AWS-Anmeldeinformationen mit ab.Amazon Cognito.

1. Legen Sie die erforderlichen Berechtigungen für jeden in der App verwendeten AWS-Service fest.

1. Erstellen Sie in der IDE ein neues Projekt.

1. Installieren des AWS Mobile SDK for .NET and Xamarin.

1. Konfigurieren der AWS Mobile SDK for .NET and Xamarin.

## Schritt 1: Abrufen von AWS-Anmeldeinformationen
<a name="step-1-obtain-aws-credentials"></a>

Um in der App AWS aufrufen zu können, müssen Sie zunächst AWS-Anmeldeinformationen abrufen. Hierzu wird Amazon Cognito verwendet, ein AWS-Service, mit dem die Anwendung auf die Services im SDK zugreifen kann, ohne private AWS-Anmeldeinformationen in die Anwendung einzubetten.

Um Amazon Cognito nutzen zu können, müssen Sie einen Identitäten-Pool erstellen. Ein Identitäten-Pool ist ein Speicher für kontenspezifische Daten. Er wird mittels einer eindeutigen Identitäten-Pool-ID identifiziert, die folgendermaßen aufgebaut ist.

```
"us-east-1:00000000-0000-0000-0000-000000000000"
```

1. Melden Sie sich bei der [Amazon Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an, wählen Sie **Verbundidentitäten verwalten** und wählen Sie anschließend **Create new identity pool (Neuen Identitätenpool erstellen)**.

1. Geben Sie einen Namen für den Identitäten-Pool ein und aktivieren Sie das Kontrollkästchen, um den Zugriff für nicht authentifizierte Identitäten zu aktivieren. Wählen Sie **Create Pool** (Pool erstellen) aus, um Ihren Identitäten-Pool zu erstellen.

1. Wählen Sie Allow (**Zulassen**) aus, um die zwei Ihrem Identitäten-Pool zugeordneten Standardrollen zu erstellen: eine für nicht authentifizierte Benutzer und eine für authentifizierte Benutzer. Diese Standardrollen ermöglichen dem Identitäten-Pool Zugriff auf Amazon Cognito Sync und Amazon Mobile Analytics.

Üblicherweise verwenden Sie nur einen Identitäten-Pool pro Anwendung.

Nach dem Erstellen des Identitäten-Pool rufen Sie AWS-Anmeldeinformationen ab, indem Sie ein `CognitoAWSCredentials`-Objekt (durch Übergabe der Identitäten-Pool-ID) erstellen und es dann folgendermaßen dem Konstruktor eines AWS-Clients übergeben:

```
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
);
```

## Schritt 2: Festlegen der Berechtigungen
<a name="step-2-set-permissions"></a>

Sie müssen die Berechtigungen für jeden in der Anwendung zu verwendenden AWS-Service festlegen. Zunächst müssen Sie verstehen, wie AWS die Benutzer der Anwendung sieht.

Wenn jemand Ihre Anwendung verwendet und AWS-Aufrufe auslöst, weist AWS dem betreffenden Benutzer eine Identität zu. In dem in Schritt 1 erstellten Identitäten-Pool speichert AWS diese Identitäten. Es gibt zwei Arten von Identitäten: authentifizierte und nicht authentifizierte. Authentifizierte Identitäten gehören Benutzern, die von einem öffentlichen Login-Anbieter (z. B. Facebook, Amazon, Google) authentifiziert wurden. Nicht authentifizierte Identitäten gehören Gastbenutzern.

Jede Identität ist einer AWS Identity and Access Management-Rolle zugeordnet. In Schritt 1 haben Sie zwei IAM-Rollen erstellt, eine für authentifizierte Benutzer und eine für nicht authentifizierter Benutzer. Jeder IAM-Rolle ist mindestens eine Richtlinie zugeordnet, die angibt, auf welche AWS-Services die Identitäten zugreifen können, die der Rolle zugewiesen sind. Mit der folgenden Beispielrichtlinie gewähren Sie Zugriff auf einen Amazon S3-Bucket.

```
{
  "Statement": [
    {
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::MYBUCKETNAME/*",
      "Principal": "*"
    }
  ]
}
```

Um Berechtigungen für die AWS-Services festzulegen, auf die in der Anwendung zugegriffen werden soll, ändern Sie einfach die den Rollen zugeordnete Richtlinie.

1. Navigieren Sie zur [IAM-Konsole und wählen Sie "Roles (Rollen)"](https://console.aws.amazon.com/iam/home). Geben Sie den Identitäten-Pool-Namen in das Suchfeld ein. Wählen Sie die IAM-Rolle aus, die Sie konfigurieren möchten. Wenn die Anwendung sowohl authentifizierte als auch nicht authentifizierte Benutzer zulässt, müssen Sie beiden Rollen Berechtigungen gewähren.

1. Klicken Sie auf **Attach Policy (Richtlinie anfügen)**, wählen Sie die gewünschte Richtlinie und klicken Sie dann auf **Attach Policy (Richtlinien anfügen)**. Die Standardrichtlinien für die von Ihnen erstellten IAM-Rollen gewähren Zugriff auf Amazon Cognito Sync und Mobile Analytics.

Weitere Informationen zum Erstellen von Richtlinien oder zum Auswählen von Richtlinien in einer Liste vorhandener Richtlinien erhalten Sie unter [IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html).

## Schritt 3: Erstellen eines neuen -Projekts
<a name="step-3-create-a-new-project"></a>

### Windows
<a name="windows"></a>

Sie können Visual Studio oder Xamarin Studio zum Entwickeln der Anwendung verwenden.

### OS X
<a name="os-x"></a>

Sie müssen die Xamarin Studio-IDE (Integrated Development Environment, integrierte Entwicklungsumgebung) zur Entwicklung der Anwendungen verwenden. Die iOS-Entwicklung mit Xamarin setzt Zugriff auf einen Mac voraus, auf dem die App ausgeführt werden kann. Weitere Informationen erhalten Sie unter [Installing Xamarin.iOS on Windows](http://developer.xamarin.com/guides/ios/getting_started/installation/windows).

## Schritt 4: Installieren der AWS Mobile SDK for .NET and Xamarin
<a name="step-4-install-the-sdk-xamarin"></a>

### Windows
<a name="id1"></a>

#### Option 1: Installieren mithilfe der Package Manager-Konsole
<a name="option-1-install-by-using-the-package-manager-console"></a>

AWS Mobile SDK for .NET and Xamarin besteht aus einer Reihe von .NET-Komponenten. Führen Sie zum Installieren von AWS Mobile SDK for .NET and Xamarin den Befehl "install-package" für jedes Paket in der Package Manager-Konsole aus. Führen Sie zum Installieren von Cognito Identity beispielsweise Folgendes aus:

```
Install-Package AWSSDK.CognitoIdentity
```

Die Pakete AWS Core Runtime und Amazon Cognito Identity werden für alle Projekte benötigt. Nachstehend finden Sie eine vollständige Liste der Paketnamen für jeden Service.


****  

| Service | Package name | 
| --- | --- | 
|  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  | 

Um ein Beta-Paket einzuschließen, fügen Sie beim Installieren des Pakets das Befehlszeilenargument `-Pre` ein:

```
Install-Package AWSSDK.CognitoSync -Pre
```

Eine vollständige Liste der AWS-Servicepakete finden Sie unter [AWS SDK packages on NuGet](https://www.nuget.org/packages?q=+aws-sdk-v3) oder im [AWS SDK for .NET Github ](https://github.com/aws/aws-sdk-net#nuget-packages)Repository.

#### Option 2: Installieren unter Verwendung der IDE
<a name="option-2-install-by-using-your-ide"></a>

 **In Visual Studio** 

1. Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie dann auf Manage Packages **(NuGetPakete **verwalten).

1. Suchen Sie nach dem Namen des Pakets, das Sie dem Projekt hinzufügen möchten. Um die NuGet prelease-Pakete einzuschließen, wählen Sie **Include Prelease **(Prelease einschließen) aus. Eine vollständige Liste der AWS-Service-Pakete finden Sie unter [AWS SDK-Pakete unter NuGet ](https://www.nuget.org/packages?q=+aws-sdk-v3).

1. Wählen sie das Paket und dann **Installieren**.

 **In Xamarin Studio** 

1. Klicken Sie mit der rechten Maustaste auf den Paketordner und wählen Sie dann **Add Packages (Pakete hinzufügen)**.

1. Suchen Sie nach dem Namen des Pakets, das Sie dem Projekt hinzufügen möchten. Um die NuGet prelease-Pakete einzuschließen, wählen Sie Show pre-release packages (Vorversionspakete ****anzeigen) aus. Eine vollständige Liste der AWS-Service-Pakete finden Sie unter [AWS SDK-Pakete unter NuGet ](https://www.nuget.org/packages?q=+aws-sdk-v3).

1. Aktivieren Sie das Kontrollkästchen neben dem gewünschten Paket und wählen Sie **Add Package (Paket hinzufügen)**.

### Mac (OS X)
<a name="mac-os-x"></a>

 **In Xamarin Studio** 

1. Klicken Sie mit der rechten Maustaste auf den Paketordner und wählen Sie dann **Add Packages (Pakete hinzufügen)**.

1. Suchen Sie nach dem Namen des Pakets, das Sie dem Projekt hinzufügen möchten. Um die NuGet prelease-Pakete einzuschließen, wählen Sie Show pre-release packages (Vorversionspakete ****anzeigen) aus. Eine vollständige Liste der AWS-Service-Pakete finden Sie unter [AWS SDK-Pakete unter NuGet ](https://www.nuget.org/packages?q=+aws-sdk-v3).

1. Aktivieren Sie das Kontrollkästchen neben dem gewünschten Paket und wählen Sie **Add Package (Paket hinzufügen)**.

**Wichtig**  
Wenn Sie eine Entwicklung mit einer Portable Class Library durchführen, müssen Sie das NuGet AWSSDK.Core-Paket auch allen Projekten hinzufügen, die aus der Portable Class Library abgeleitet werden.

## Schritt 5: Konfigurieren von AWS Mobile SDK for .NET and Xamarin
<a name="step-5-configure-the-sdk-xamarin"></a>

### Festlegen der Protokollierung
<a name="set-logging"></a>

Sie legen Einstellungen für die Protokollierung mit den Klassen `Amazon.AWSConfigs` und `Amazon.Util.LoggingConfig` fest. Sie finden diese Klassen in der Komponente `AWSSdk.Core`, die über Nuget Package Manager in Visual Studio verfügbar ist. Sie können den Code, der zur Protokollierung der Einstellungen verwendet wird, in der Methode `OnCreate` der Datei `MainActivity.cs` für Android-Apps oder der Datei `AppDelegate.cs` für iOS-Apps platzieren. Sie sollten außerdem die Anweisungen `using Amazon` und `using Amazon.Util` in die CS-Dateien einfügen.

Konfigurieren Sie die Protokolleinstellungen wie folgt:

```
var loggingConfig = AWSConfigs.LoggingConfig;
loggingConfig.LogMetrics = true;
loggingConfig.LogResponses = ResponseLoggingOption.Always;
loggingConfig.LogMetricsFormat = LogMetricsFormatOption.JSON;
loggingConfig.LogTo = LoggingOptions.SystemDiagnostics;
```

Wenn Sie sich bei SystemDiagnosticsanmelden, druckt das Framework die Ausgabe intern an die System.Console. Wenn Sie HTTP-Antworten protokollieren möchten, setzen Sie das Flag `LogResponses` Die Werte können Always (Immer), Never (Nie) oder OnErrorsein.

Sie können außerdem Leistungskennzahlen zu HTTP-Anforderungen protokollieren, indem Sie die Eigenschaft `LogMetrics` verwenden. Das Protokollformat können Sie mit der Eigenschaft `LogMetricsFormat` angegeben. Gültige Werte sind "JSON" und "standard".

### Festlegen des Regionsendpunkts
<a name="set-the-region-endpoint"></a>

Konfigurieren Sie die Standardregion für alle Service-Clients wie folgt:

```
AWSConfigs.AWSRegion="us-east-1";
```

Dadurch wird die Standardregion für alle Service-Clients im SDK festgelegt. Sie können diese Einstellung überschreiben, indem Sie wie folgt die Region explizit zum Zeitpunkt der Erstellung einer Instance des Service-Clients angeben:

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

### Konfigurieren der HTTP-Proxy-Einstellungen
<a name="configure-the-http-proxy-settings"></a>

Wenn Ihr Netzwerk hinter einem Proxy liegt, können Sie die Proxy-Einstellungen für die HTTP-Anforderungen wie folgt konfigurieren.

```
var proxyConfig = AWSConfigs.ProxyConfig;
proxyConfig.Host = "localhost";
proxyConfig.Port = 80;
proxyConfig.Username = "<username>";
proxyConfig.Password = "<password>";
```

### Korrektur für Taktversatz
<a name="correct-for-clock-skew"></a>

Diese Eigenschaft bestimmt, ob das SDK den Client-Taktversatz korrigieren soll, indem die richtige Server-Zeit ermittelt und die Anforderung mit der richtigen Zeit erneut ausgegeben wird.

```
AWSConfigs.CorrectForClockSkew = true;
```

Dieses Feld wird eingestellt, wenn ein Service-Aufruf eine Exception ausgelöst und das SDK festgestellt hat, dass die lokale Zeit und die Server-Zeit differieren.

```
var offset = AWSConfigs.ClockOffset;
```

Weitere Informationen zum Taktversatz finden Sie unter [Clock-skew Correction](https://blogs.aws.amazon.com/net/post/Tx2HM54KL5LMTGI/Clock-skew-correction) im AWS-Blog.

## Nächste Schritte
<a name="next-steps"></a>

Nachdem Sie AWS Mobile SDK for .NET and Xamarin eingerichtet haben, können Sie folgende Operationen ausführen:
+  **Erste Schritte.** Lesen Sie [Erste Schritte mit AWS Mobile SDK for .NET and Xamarin](getting-started-xamarin.md) für kurzgefasste Anleitungen zur Verwendung und zum Konfigurieren der Services in AWS Mobile SDK for .NET and Xamarin.
+  **Erkunden Sie die Service-Themen.** Erfahren Sie mehr über die einzelnen Services und deren Funktionsweise in AWS Mobile SDK for .NET and Xamarin.
+  **Führen Sie die Demos aus.** Sehen Sie sich unsere [Xamarin-Beispielanwendungen](https://github.com/awslabs/aws-sdk-net-samples/tree/master/XamarinSamples) an, die häufige Anwendungsfälle veranschaulichen. Richten Sie zum Ausführen der Beispiel-Apps AWS Mobile SDK for .NET and Xamarin wie zuvor beschrieben ein. Befolgen Sie dann die Anweisungen in den README-Dateien der jeweiligen Beispiele.
+  **Erfahren Sie mehr über das APIs.** Zeigen Sie [\$1sdk-xamarin-ref\$1\$1 ](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/)an.
+  **Fragen**: Veröffentlichen Sie Fragen in den [AWS Mobile SDK-Foren](https://forums.aws.amazon.com/forum.jspa?forumID=88) oder [öffnen Sie auf Github ein Problemticket](https://github.com/awslabs/aws-sdk-xamarin/issues).