Empfangen von Push-Benachrichtigungen mit SNS (Xamarin iOS) - AWS SDK für Mobilgeräte

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.

Empfangen von Push-Benachrichtigungen mit SNS (Xamarin iOS)

In diesem Dokument wird erläutert, wie Push-Benachrichtigungen mit Amazon Simple Notification Service (SNS) und an eine Xamarin-iOS-Anwendung gesendet werden.AWS Mobile SDK for .NET and Xamarin.

Projekteinrichtung

Prerequisites

Befolgen Sie alle Anweisungen unter Einrichten von AWS Mobile SDK for .NET and Xamarin, bevor Sie mit diesem Tutorial beginnen.

Festlegen von Berechtigungen für SNS

Befolgen Sie Schritt 2 in Einrichten von AWS Mobile SDK for .NET and Xamarin, um die unten angegebene Richtlinie an die Rollen Ihrer Anwendung anzufügen. Die Anwendung erhält so die erforderlichen Berechtigungen für den Zugriff auf SNS:

  1. Navigieren Sie zur IAM-Konsole und wählen Sie die IAM-Rolle aus, die Sie konfigurieren möchten.

  2. Klicken Sie auf Attach Policy (Richtlinie anfügen), wählen Sie die AmazonSNSFullAccess Richtlinie aus und klicken Sie auf Attach Policy (Richtlinie anfügen).

Warnung

Die Verwendung von AmazonSNSFullAccess wird in einer Produktionsumgebung nicht empfohlen. Wir verwenden die Richtlinie hier, damit Sie schnell mit der Arbeit beginnen können. Weitere Informationen über das Festlegen von Berechtigungen für eine IAM-Rolle erhalten Sie unter Overview of IAM Role Permissions.

Anfordern der Mitgliedschaft im Apple iOS Developer Program

Sie müssen die App auf einem physischen Gerät ausführen, um Push-Benachrichtigungen zu empfangen. Zum Ausführen der App auf einem Gerät benötigen Sie eine Mitgliedschaft im Apple iOS Developer Program. Sobald Sie eine Mitgliedschaft besitzen, können Sie mit Xcode eine Signaturidentität generieren. Weitere Informationen finden Sie in der App Distribution Quick Start-Dokumentation von Apple.

Erstellen eines iOS-Zertifikats

Zunächst müssen Sie ein iOS-Zertifikat erstellen. Anschließend müssen Sie ein Bereitstellungsprofil erstellen, das für Push-Benachrichtigungen konfiguriert ist. Hierzu gehen Sie wie folgt vor:

  1. Navigieren Sie zum Apple Developer Member Center und klicken Sie auf Certificates, Identifiers & Profiles (Zertifikate, IDs und Profile).

  2. Klicken Sie unter iOS Apps auf Identifiers, klicken Sie auf das Plus-Symbol in der oberen rechten Ecke der Webseite, um eine neue iOS-App-ID hinzuzufügen, und geben Sie eine App-ID-Beschreibung ein.

  3. Scrollen Sie nach unten zum Abschnitt Add ID Suffix (ID-Suffix hinzufügen), wählen Sie Explicit App ID (Explizite App-ID) aus und geben Sie Ihre Bundle-ID ein.

  4. Scrollen Sie nach unten zum Bereich App Services und wählen Sie Push Notifications.

  5. Klicken Sie auf Weiter.

  6. Klicken Sie auf Submit.

  7. Klicken Sie auf Done (Fertig).

  8. Wählen Sie die gerade erstellte App-ID aus und klicken Sie dann auf Edit (Bearbeiten).

  9. Scrollen Sie nach unten zum Abschnitt Push Notifications (Push-Benachrichtigungen). Klicken Sie auf Create Certificate (Zertifkat erstellen) unter Development SSL Certificate (Entwicklung-SSL-Zertifikat).

  10. Befolgen Sie die Anweisungen zum Erstellen einer CSR-Anforderung (Certificate Signing Request), laden Sie die Anforderung hoch und laden Sie ein SSL-Zertifikat herunter, das für die Kommunikation mit Apple Notification Service (APNS) verwendet wird.

  11. Kehren Sie zur Seite Certificates, Identifiers & Profiles (Zertifikate, IDs und Profile) zurück. Klicken Sie auf All unter Provisioning Profiles.

  12. Klicken Sie auf die Plus-Schaltfläche oben rechts, um ein neues Bereitstellungsprofil hinzuzufügen.

  13. Wählen Sie iOS App Development (Entwicklung von iOS-Anwendungen) und klicken Sie dann auf Continue (Weiter).

  14. Wählen Sie die App-ID und klicken Sie dann auf Continue (Weiter).

  15. Wählen Sie Ihr Entwicklerzertifikat und klicken Sie dann auf Continue (Weiter).

  16. Wählen Sie das Gerät und klicken Sie dann auf Continue (Weiter).

  17. Geben Sie einen Profilnamen ein und klicken Sie dann auf Generate (Erstellen).

  18. Laden Sie die Bereitstellungsdatei herunter und doppelklicken Sie dann auf die Datei, um das Bereitstellungsprofil zu installieren.

Weitere Informationen zur Bereitstellung eines Profils, das für Push-Benachrichtigungen konfiguriert ist, finden Sie in der Apple-Dokumentation Configuring Push Notifications.

Verwenden eines Zertifikats zum Erstellen eines Plattform-ARN in der SNS-Konsole

  1. Führen Sie die KeyChain Zugriffs-App aus, wählen Sie unten links auf dem Bildschirm My Certificates (Meine Zertifikate) aus und klicken Sie dann mit der rechten Maustaste auf das SSL-Zertifikat, das Sie generiert haben, um eine Verbindung mit APNS herzustellen. Wählen Sie dann Export (Exportieren) aus. Sie werden aufgefordert, einen Namen für die Datei und ein Passwort zum Schutz des Zertifikats anzugeben. Das Zertifikat wird in einer P12-Datei gespeichert.

  2. Navigieren Sie zur SNS-Konsole und klicken Sie auf der linken Seite des Bildschirms auf Applications (Anwendungen).

  3. Klicken Sie auf Create platform application (Plattformanwendung erstellen), um eine neue SNS-Plattformanwendung zu erstellen.

  4. Geben Sie einen Application Name. ein.

  5. Wählen Sie Apple Development für Push notification platform (Push-Benachrichtigungsplattform).

  6. Klicken Sie auf Choose File (Datei auswählen) und wählen Sie die P12 aus, die Sie beim Exportieren des SSL-Zertifikats erstellt haben.

  7. Geben Sie das beim Exportieren des SSL-Zertifikats eingegebene Passwort ein und klicken Sie auf Load Credentials From File.

  8. Klicken Sie auf Create platform application.

  9. Wählen Sie die soeben erstellte Plattformanwendung und kopieren Sie den ARN der Anwendung. Sie werden den Namen in kommenden Schritten benötigen.

Hinzufügen eines NuGet Pakets für SNS zu Ihrem Projekt

Befolgen Sie Schritt 4 der Anweisungen unter Einrichten von AWS Mobile SDK for .NET and Xamarin, um das Amazon Simple Notification NuGet Service-Paket Ihrem Projekt hinzuzufügen.

Erstellen eines SNS-Clients

var snsClient = new AmazonSimpleNotificationServiceClient(credentials, region);

Registrieren der Anwendung für Remote-Benachrichtigungen

Um eine Anwendung zu registrieren, rufen Sie RegisterForRemoteNotifications für Ihr UIApplication -Objekt auf, wie unten gezeigt. Fügen Sie den folgenden Code in das AppDelegate.cs, Einfügen Ihres Plattformanwendungs-ARN ein, wenn Sie unten dazu aufgefordert werden:

public override bool FinishedLaunching(UIApplication app, NSDictionary options) { // do something var pushSettings = UIUserNotificationSettings.GetSettingsForTypes ( UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null ); app.RegisterUserNotifications(pushSettings); app.RegisterForRemoteNotifications(); // do something return true; } public override void RegisteredForRemoteNotifications(UIApplication application, NSData token) { var deviceToken = token.Description.Replace("<", "").Replace(">", "").Replace(" ", ""); if (!string.IsNullOrEmpty(deviceToken)) { //register with SNS to create an endpoint ARN var response = await SnsClient.CreatePlatformEndpointAsync( new CreatePlatformEndpointRequest { Token = deviceToken, PlatformApplicationArn = "YourPlatformArn" /* insert your platform application ARN here */ }); } }

Senden einer Nachricht mit der SNS-Konsole an den Endpunkt

  1. Navigieren Sie zu SNS Console (SNS-Konsole) > Applications (Anwendungen).

  2. Wählen Sie die Plattformanwendung, dann einen Endpunkt und klicken Sie schließlich auf Publish to endpoint (In Endpunkt veröffentlichen).

  3. Geben Sie eine Textnachricht in das Textfeld ein und klicken Sie auf Publish message (Nachricht veröffentlichen), um eine Nachricht zu veröffentlichen.