(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Lernprogramm zu Service Bus-Benachrichtigungshubs (iOS-Apps)

noteHinweis
Benachrichtigungshubs sind in Windows Azure Service Bus als Vorschaufunktion seit Januar 2012 verfügbar. Die allgemeine Verfügbarkeit wird Mitte 2013 erwartet.

noteHinweis
Aufgrund der an Benachrichtigungshubs vorgenommenen Verbesserungen funktioniert das vor April 2013 heruntergeladene SDK nicht mit den neuen Benachrichtigungshubs. Ebenso funktioniert das aktuelle SDK nicht mit Benachrichtigungshubs, die vor April 2013 erstellt wurden. Bitte verwenden Sie die neuen Benachrichtigungshubs mit dem neuen SDK, um alle Vorteile der neuen Funktionen nutzen zu können, z. B. optimistische Parallelitätssteuerung. Die Unterstützung für Benachrichtigungshubs, die vor April 2013 erstellt wurden, wird beendet, wenn Benachrichtigungshubs in die allgemeine Verfügbarkeit übergehen.

Service Bus Benachrichtigungshubs sind Service Bus-Entitäten, die es einem Benutzer ermöglichen, Gerätepushbenachrichtigungen über Anwendungsplattformen von Drittanbietern wie z. B. den folgenden zu senden:

  • Windows Push Notification Services (WNS) für Windows 8.

  • Apple Push Notification Service (APNs).

  • Google Cloud Messaging Service (GCM).

Unterstützung für Microsoft Push Notification Service (MPNS) für Windows Phone wird ebenfalls bald verfügbar sein.

Dieses Lernprogramm beschreibt das Einrichten einer iOS-Anwendung und einer einfachen .NET-Anwendung, die eine Benachrichtigung über APNs (Apple Push Notification Service) überträgt.

Die folgenden Schritte müssen ausgeführt werden:

  1. Generieren der Zertifikatsignaturanforderung zum Aktivieren von APNs für Ihre App.

  2. Registrieren der iOS-App im iOS-Bereitstellungsportal zum Aktivieren von Pushbenachrichtigungen und Abrufen der Anmeldeinformationen und des Bereitstellungsprofils.

  3. Erstellen eines Bereitstellungsprofils für die App.

  4. Erstellen und Konfigurieren eines Benachrichtigungshubs.

  5. Einrichten der iOS-App für das Empfangen von Pushbenachrichtigungen von einem Benachrichtigungshub.

  6. Erstellen eines Back-End-Programms zum Übertragen einer Pushbenachrichtigung.

Ein ausführliches Thema So wird es gemacht: Service Bus-Benachrichtigungshubs (iOS-Apps) sowie ein Übersichtsthema Windows Azure Service Bus-Benachrichtigungshubs sind ebenfalls verfügbar.

Voraussetzungen

Für die Ausführung der in diesem Lernprogramm beschriebenen Aufgaben benötigen Sie Folgendes:

  • Ein Apple-Entwicklerkonto.

  • Service Bus .NET Preview SDK. Das SDK ist ein NuGet-Paket, das Funktionen von Service Bus Preview enthält. Sie können es hier herunterladen. Das Paket heißt ServiceBus Preview-Funktionen und enthält eine neue Service Bus-Bibliothek namens Microsoft.ServiceBus.Preview.dll. Damit Benachrichtigungshubs verwendet werden können, verwenden Sie diese Bibliothek anstelle der Produktionsversion (Microsoft.ServiceBus.dll).

  • Service Bus iOS SDK-Framework. Sie können dieses Framework hier herunterladen.

Generieren der Zertifikatsignaturanforderung

  1. Generieren sie zuerst die CSR-Datei (Certificate Signing Request, Zertifikatsignaturanforderung), die Apple zum Generieren eines signierten Zertifikats verwendet.

  2. Führen Sie das Tool Schlüsselbundverwaltung aus dem Ordner Utilities aus.

  3. Klicken Sie auf Schlüsselbundverwaltung, erweitern Sie Zertifikatsassistent, und klicken Sie dann auf Zertifikat einer Zertifizierungsstelle anfordern.

    Anforderung zur Signierung eines Zertifikats
  4. Klicken Sie auf E-Mail des Benutzers, geben Sie die Werte Allgemeiner Name und E-Mail der Zert.-Instanz ein, stellen Sie sicher, dass Auf der Festplatte sichern ausgewählt ist, und klicken Sie dann auf Fortfahren.

    Zertifikatinformationen
  5. Geben Sie einen Namen für die CSR-Datei in Sichern unter ein, wählen Sie einen Speicherort unter Ort aus, und klicken Sie dann auf Sichern. Durch diesen Vorgang wird die CSR-Datei am ausgewählten Speicherort gespeichert. Der Standardspeicherort ist der Desktop. Notieren Sie sich den für diese Datei ausgewählten Speicherort.

    Anforderung zur Signierung eines Zertifikats
  6. Registrieren Sie im nächsten Schritt Ihre App bei Apple, aktivieren Sie Pushbenachrichtigungen, und laden Sie diese exportierte CSR-Datei dann hoch, um ein Pushzertifikat zu erstellen.

Registrieren der App und Aktivieren von Pushbenachrichtigungen

  1. Damit Sie in der Lage sind, Pushbenachrichtigungen an eine iOS-App zu senden, registrieren Sie Ihre Anwendung bei Apple, und registrieren Sie sich außerdem für Pushbenachrichtigungen.

  2. Wenn Sie Ihre App noch nicht registriert haben, navigieren Sie zum iOS-Bereitstellungsportal im Apple Developer Center, melden Sie sich mit Ihrer Apple-ID an, klicken Sie auf App-IDs, und klicken Sie dann auf Neue App-ID.

    iOS-Bereitstellungsportal
  3. Geben Sie unter Beschreibung einen Namen für Ihre App ein, geben Sie den Wert ServiceBus.Tutorial unter Bundlebezeichner ein, und klicken Sie dann auf Senden.

    noteHinweis
    Der Bundlebezeichner muss mit dem Bezeichner identisch sein, den Sie im Xcode-Projekt für Ihre App bereitgestellt haben.

  4. Suchen Sie die von Ihnen erstellte App-ID, und klicken Sie dann auf Konfigurieren.

  5. Aktivieren Sie das Kontrollkästchen Für Apple-Push-Benachrichtigungsdienst aktivieren, und klicken Sie dann für das Development Push-SSL-Zertifikat auf Konfigurieren. Der SSL-Zertifikatsassistent für den Apple-Push-Benachrichtigungsdienst wird angezeigt.

    noteHinweis
    Die gleiche Vorgehensweise gilt für das Produktionszertifikat.

  6. Klicken Sie auf Durchsuchen, navigieren Sie zu dem Speicherort, an dem Sie die CSR-Datei gespeichert haben, die Sie im ersten Schritt erstellt haben, und klicken Sie dann auf Generieren.

  7. Nachdem das Portal das Zertifikat erstellt hat, klicken Sie auf Fortfahren. Klicken Sie auf dem nächsten Bildschirm auf Download. Das Signaturzertifikat wird heruntergeladen und auf Ihrem Computer im Ordner Downloads als aps_development.cer gespeichert.

  8. Doppelklicken Sie auf das heruntergeladene Pushzertifikat aps_development.cer. Das neue Zertifikat wird heruntergeladen und in Schlüsselbund installiert.

  9. Klicken Sie unter Schlüsselbundverwaltung mit der rechten Maustaste auf das neue Zertifikat, klicken Sie auf Exportieren, nennen Sie die Datei ServiceBusTutorial, wählen Sie das P12-Format aus, und klicken Sie dann auf Sichern.

    ImportantWichtig
    Wenn das Portal die Erweiterung P12 nicht akzeptiert, ändern Sie die Erweiterung in PFX.

Erstellen eines Bereitstellungsprofils für die App

  1. Klicken Sie im iOS-Bereitstellungsportal auf Bereitstellung, und klicken Sie dann auf Neues Profil.

  2. Geben Sie die Angabe Profilname ein, klicken Sie auf die Zertifikate und Geräte, die zum Testen verwendet werden sollen, wählen Sie die App-ID aus, und klicken Sie dann auf Senden. Ein neues Bereitstellungsprofil wird erstellt.

  3. Klicken Sie in der Liste der Bereitstellungsprofile auf die Schaltfläche Download für dieses neue Profil. Das Profil wird auf den lokalen Computer heruntergeladen.

  4. Öffnen Sie in Xcode den Organizer, wählen Sie die Geräteansicht aus, wählen Sie Bereitstellungsprofile im Abschnitt Bibliothek im linken Bereich aus, und klicken Sie dann unten im mittleren Bereich auf die Schaltfläche Importieren.

  5. Ermitteln Sie das heruntergeladene Bereitstellungsprofil, und klicken Sie dann auf Öffnen.

  6. Klicken Sie unter Ziele auf das Hauptziel Ihrer App (normalerweise der Name der App), erweitern Sie Codesignierende Identität, und wählen Sie dann unter Debuggen das neue Profil aus. Durch dieses Verfahren wird sichergestellt, dass das Xcode-Projekt das neue Profil für die Codesignierung verwendet.

Erstellen eines Service Bus-Benachrichtigungshubs

Erstellen Sie mithilfe des Windows Azure-Verwaltungsportals einen Benachrichtigungshub, und konfigurieren Sie ihn so, dass Pushbenachrichtigungen an eine Windows Store-Anwendung gesendet werden.

  1. Melden Sie sich am Windows Azure-Verwaltungsportal (http://manage.windowsazure.com/) an.

  2. Klicken Sie in der unteren linken Ecke auf Neu.

  3. Klicken Sie auf App-Dienste, auf Service Bus, auf Benachrichtigungshub und dann auf Schnellerfassung.

    Erstellen eines Service Bus-Benachrichtigungshubs
  4. Wählen Sie einen Namen für den Benachrichtigungshub, eine Region und einen Namespace aus, in dem dieser Benachrichtigungshub erstellt werden soll (wenn keine Namespaces verfügbar sind, wird ein neuer Namespace mit dem angegebenen Namen bereitgestellt).

  5. Klicken Sie auf das Häkchen.

  6. Klicken Sie nun auf der Registerkarte Service Bus im linken Navigationsbereich auf den erstellten Namespace. Der Benachrichtigungshub sollte in der Liste angezeigt werden.

    Service Bus-Benachrichtigungshub
  7. Klicken Sie auf den Benachrichtigungshub, und klicken Sie dann oben auf die Registerkarte Konfigurieren.

    Service Bus-Benachrichtigungshub
  8. Laden Sie das APNs-Zertifikat (ServiceBusTutorial.p12) sowie sein Kennwort hoch. Denken Sie daran, die entsprechende Umgebung für das Zertifikat auszuwählen, z. B. Produktion oder Entwicklung.

Erstellen einer iOS-App und Registrieren für Pushbenachrichtigungen bei Service Bus

Herunterladen und Verweisen auf das Service Bus-Framework

  1. Laden Sie das Service Bus iOS Preview SDK herunter.

  2. Ziehen Sie den Ordner WindowsAzureServiceBus.framework aus Suchen in Ihr Projekt (wählen Sie Elemente in Ordner der Zielgruppe kopieren (wenn erforderlich) aus).

Zugreifen auf einen Benachrichtigungshub

  1. Fügen Sie der Klasse AppDelegate Ihrer App die folgende Importdirektive hinzu.

    #import <WindowsAzureMessaging/WindowsAzureMessaging.h>
    
  2. Fügen Sie der Methode didFinishLaunchingWithOptions den folgenden Code hinzu:

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
    
  3. Klicken Sie im Windows Azure-Verwaltungsportal im linken Navigationsbereich auf Service Bus, und klicken Sie dann rechts auf den Namen Ihres Namespaces. Notieren Sie sich den Namen Ihres Namespaces.

  4. Klicken Sie auf Ihren Benachrichtigungshub und dann auf der unteren Symbolleiste auf Verbindungsinformationen.

    Service Bus-Benachrichtigungshub
  5. Kopieren Sie die Zeichenfolge für den Schlüssels mit dem Namen DefaultListenSharedAccessSignature.

  6. Fügen Sie in AppDelegate.m die folgende Methode hinzu, die eine Vorlagenregistrierung für dieses Gerät erstellt: Stellen Sie sicher, dass Sie die Verbindungszeichenfolge durch den Wert ersetzen, den Sie soeben aus dem Portal kopiert haben:

    (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *) deviceToken {    
        SBNotificationHub* hub = [[SBNotificationHub alloc] initWithConnectionString:
                                  @"<connection string>" notificationHubPath:@"mynh"];
        
        [hub registerNativeWithDeviceToken:deviceToken tags:nil completion:^(NSError* error) {
            if (error != nil) {
                NSLog(@"Error registering for notifications: %@", error);
            }
        }];
    }
    
  7. Fügen Sie in AppDelegate.m die folgende Methode hinzu, um ein UIAlert-Objekt anzuzeigen, wenn eine Benachrichtigung empfangen wird, während die Anwendung ausgeführt wird:

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:
    (NSDictionary *)userInfo {
        NSLog(@"%@", userInfo);
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Notification" message:
        [userInfo objectForKey:@"inAppMessage"] delegate:nil cancelButtonTitle:
        @"OK" otherButtonTitles:nil, nil];
        [alert show];
    }
    

Im Abschnitt So wird es gemacht: Service Bus-Benachrichtigungshubs (iOS-Apps) finden Sie weitere Informationen zum oben aufgeführten Code sowie zum Zugreifen auf die erweiterten Funktionen von Benachrichtigungshubs aus iOS-Apps.

Erstellen einer Back-End-Anwendung zum Senden von Pushbenachrichtigungen

  1. Erstellen Sie in Visual Studio ein neues Projekt, und wählen Sie dann Visual C#->Windows->-Konsolenanwendung aus.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Verweise, und klicken Sie dann auf NuGet-Pakete verwalten. Suchen Sie nach Service Bus Preview-Funktionen, und installieren Sie dann das Paket.

  3. Fügen Sie in Program.cs den folgenden Code am Anfang hinzu.

    using Microsoft.ServiceBus;
    using Microsoft.ServiceBus.Messaging;
    using Microsoft.ServiceBus.Notifications;
    
  4. Klicken Sie im Windows Azure-Verwaltungsportal im Benachrichtigungshubdashboard auf der unteren Symbolleiste auf Verbindungsinformationen.

    Service Bus-Benachrichtigungshub
  5. Kopieren Sie die Zeichenfolge für den Schlüssels mit dem Namen DefaultFullSharedAccessSignature.

  6. Fügen Sie in Program.cs den folgenden Code in die Methode Main() ein, und ersetzen Sie dann den Platzhalter durch die Verbindungszeichenfolge, die Sie soeben aus dem Portal kopiert haben:

    var hubClient = NotificationHubClient.CreateClientFromConnectionString(“<connection string>, "myHub");
    var iosPayload = AppleNotificationJsonBuilder.Create("Hello!");
    iosPayload.CustomFields.Add("inAppMessage", "Hello!");
    hubClient.SendAppleNativeNotification(iosPayload.ToJsonString());
    

Führen Sie die App aus, und senden Sie eine Benachrichtigung.

  1. Klicken Sie in Xcode in der oberen linken Ecke auf iOS-Gerät.

ImportantWichtig
Pushbenachrichtigungen funktionieren nicht im Simulator.

  1. Führen Sie die App auf Ihrem Gerät aus.

  2. Führen Sie das Konsolenprogramm in Visual Studio aus.

  3. Auf dem Gerät sollte eine Benachrichtigung angezeigt werden.

Senden einer Benachrichtigung mit Node.js

  1. Installieren Sie das Azure-Knotenmodul:

    npm install azure
    
  2. Geben Sie in einem Knotenskript (oder einer interaktiven Konsole) Folgendes ein:

    var azure = require('azure');
    var hub = azure.createNotificationHubService('<your hub name>', '<your connection string with full access>');
    hub.apns.send(null, '{ alert: "This is my toast message for iOS!"}');
    

Senden einer Benachrichtigung mit Mobile Dienste

Mit Mobile Dienste können Sie schnell ein Back-End für Ihre Anwendung erstellen. Sie können Benachrichtigungshubs aus Mobile Dienste zum Übertragen von Nachrichten an Millionen von Geräten oder zum einfachen Erstellen von Interessengruppen mithilfe von Tags verwenden.

Dieses Lernprogramm verwendet einen geplanten Auftrag. Sie können jedoch Benachrichtigungen aus einem beliebigen serverseitigen Skript in Ihrem mobilen Dienst verwenden.

  1. Erstellen Sie einen neuen mobilen Dienst, oder melden Sie sich bei Ihrem eigenen Dienst an. Den Themenbereich zu mobilen Diensten finden Sie hier.

  2. Klicken Sie auf der oberen Leiste auf Planer.

    Pushbenachrichtigungen
  3. Erstellen Sie einen neuen geplanten Auftrag, fügen Sie einen Namen ein, und klicken Sie dann auf On Demand.

    Pushbenachrichtigungen
  4. Nachdem der Auftrag erstellt wurde, klicken Sie auf den Namen des Auftrags. Klicken Sie dann auf der oberen Leiste auf Skript.

  5. Fügen Sie das folgende Skript ein. Ersetzen Sie unbedingt die Platzhalter durch den Namen Ihres Benachrichtigungshubs und die Verbindungszeichenfolge für DefaultFullSharedAccessSignature, die Sie in einem früheren Schritt abgerufen haben. Klicken Sie auf Speichern.

    function PushToNotificationHub() {
        var azure = require('azure');
        
        var notificationHubService = azure.createNotificationHubService('<hub name>',
        '<connection string>');
    
        notificationHubService.hub.apple.send(
            null,
            {
                alert: "Hello from Mobile Services!"
            },
            function (error)
            {
                if (!error) {
                    console.warn("Notification successful");
                }
            }
        );
    }
    
  6. Klicken Sie auf der unteren Leiste auf Einmal ausführen.

noteHinweis
Mobile Dienste verwenden das Windows Azure SDK für Node.js für den Zugriff auf Benachrichtigungshubs. Den Themenbereich zum Windows Azure SDK für Node.js mit Benachrichtigungshubs finden Sie hier.

Wenn 10.000 Clientinstanzen registriert sind, erstellt und sendet der Benachrichtigungshub wie oben beschrieben 10.000 Benachrichtigungskopien und führt die erforderliche Fehlerbehandlung und Registriertungsverwaltung aus.

Nächste Schritte

Benachrichtigungshubs stellen weitere nützliche Funktionen zur Verfügung. Lesen Sie die folgenden Themen, um mehr über Benachrichtigungshubs zu erfahren.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.