Tutorial: Senden von Pushbenachrichtigungen an Windows Phone-Apps mit Azure Notification HubsTutorial: Push notifications to Windows Phone apps by using Azure Notification Hubs

In diesem Tutorial wird gezeigt, wie Sie mit Azure Notification Hubs Pushbenachrichtigungen an eine Windows Phone 8- oder Windows Phone 8.1 Silverlight-Anwendung senden können.This tutorial shows you how to use Azure Notification Hubs to send push notifications to a Windows Phone 8 or Windows Phone 8.1 Silverlight applications. Informationen zu Windows Phone 8.1 (nicht Silverlight) finden Sie in der Windows Universal-Version dieses Tutorials.If you are targeting Windows Phone 8.1 (non-Silverlight), see the Windows Universal version of this tutorial.

In diesem Lernprogramm erstellen Sie eine leere Windows Phone 8-App, die Pushbenachrichtigungen mithilfe des Microsoft-Pushbenachrichtigungsdienstes (Microsoft Push Notification Service, MPNS) erhält.In this tutorial, you create a blank Windows Phone 8 app that receives push notifications by using the Microsoft Push Notification Service (MPNS). Nach Erstellen der App können Sie über Ihren Notification Hub Pushbenachrichtigungen an alle Geräte senden, die Ihre App ausführen.After you create the app, you use your notification hub to broadcast push notifications to all the devices running your app.

Hinweis

Im Windows Phone-SDK von Notification Hubs wird die Verwendung des Windows-Pushbenachrichtigungsdienstes (Windows Push Notification Service, WNS) mit Windows Phone 8.1 Silverlight-Apps nicht unterstützt.The Notification Hubs Windows Phone SDK does not support using the Windows Push Notification Service (WNS) with Windows Phone 8.1 Silverlight apps. Um WNS (anstelle von MPNS) mit Windows Phone 8.1-Silverlight-Apps zu verwenden, führen Sie das Tutorial für Notification Hubs – Windows Phone Silverlightaus, in dem REST-APIs verwendet werden.To use WNS (instead of MPNS) with Windows Phone 8.1 Silverlight apps, follow the Notification Hubs - Windows Phone Silverlight tutorial, which uses REST APIs.

In diesem Tutorial lernen Sie Folgendes:In this tutorial, you learn how to:

  • Erstellen eines Notification HubsCreate a notification hub
  • Erstellen einer Windows Phone-AnwendungCreate a Windows Phone application
  • Testsendevorgang einer BenachrichtigungTest send a notification

VoraussetzungenPrerequisites

Das Abschließen dieses Lernprogramms ist eine Voraussetzung für alle anderen Notification Hubs-Lernprogramme für Windows Phone 8-Apps.Completing this tutorial is a prerequisite for all other Notification Hubs tutorials for Windows Phone 8 apps.

Erstellen Ihres Notification HubCreate your notification hub

  1. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal.

  2. Wählen Sie im Menü auf der linken Seite die Option Alle Dienste und dann im Abschnitt Mobil die Option Notification Hubs aus.Select All services on the left menu, and then select Notification Hubs in the Mobile section. Wählen Sie das Sternsymbol neben dem Dienstnamen aus, um den Dienst im linken Menü zum Abschnitt FAVORITEN hinzuzufügen.Select the star icon next to the service name to add the service to the FAVORITES section on the left menu. Nachdem Notification Hubs unter FAVORITEN hinzugefügt wurde, können Sie diesen Eintrag im Menü auf der linken Seite auswählen.After you add Notification Hubs to FAVORITES, select it on the left menu.

    Azure-Portal – Auswählen von Notification Hubs

  3. Wählen Sie auf der Seite Notification Hubs in der Symbolleiste die Option Hinzufügen.On the Notification Hubs page, select Add on the toolbar.

    Notification Hubs – Symbolleistenschaltfläche „Hinzufügen“

  4. Führen Sie auf der Seite Notification Hub die folgenden Schritte aus:On the Notification Hub page, do the following steps:

    1. Geben Sie ins Feld Notification Hub einen Namen ein.Enter a name in Notification Hub.

    2. Geben Sie ins Feld Neuen Namespace erstellen einen Namen ein.Enter a name in Create a new namespace. Ein Namespace enthält mindestens einen Hub.A namespace contains one or more hubs.

    3. Wählen Sie im Dropdown-Listenfeld Standort einen Wert aus.Select a value from the Location drop-down list box. Dieser Wert gibt den Standort an, an dem der Hub erstellt werden soll.This value specifies the location in which you want to create the hub.

    4. Wählen Sie unter Ressourcengruppe eine vorhandene Ressourcengruppe aus, oder erstellen Sie einen Namen für eine neue Ressourcengruppe.Select an existing resource group in Resource Group, or create a name for a new resource group.

    5. Klicken Sie auf Erstellen.Select Create.

      Azure-Portal – Festlegen von Eigenschaften für den Notification Hub

  5. Wählen Sie Benachrichtigungen (Glockensymbol) und dann Zu Ressource wechseln aus.Select Notifications (the bell icon), and then select Go to resource. Sie können auch die Liste auf der Seite Notification Hubs aktualisieren und Ihren Hub auswählen.You can also refresh the list on the Notification Hubs page and select your hub.

    Azure-Portal – Benachrichtigungen -> Zu Ressource wechseln

  6. Wählen Sie in der Liste die Option Zugriffsrichtlinien aus.Select Access Policies from the list. Notieren Sie sich die beiden Verbindungszeichenfolgen, die für Sie verfügbar sind.Note that the two connection strings are available to you. Sie werden später für die Behandlung von Pushbenachrichtigungen benötigt.You'll need them later to handle push notifications.

    Wichtig

    Verwenden Sie nicht die Richtlinie DefaultFullSharedAccessSignature in Ihrer Anwendung.Do not use the DefaultFullSharedAccessSignature policy in your application. Diese ist nur für die Verwendung in Ihrem Back-End vorgesehen.This is meant to be used in your back end only.

    Azure-Portal – Verbindungszeichenfolgen für den Notification Hub

Konfigurieren von Windows Phone-Einstellungen (MPNS)Configure Windows Phone (MPNS) settings

  1. Wählen Sie Windows Phone (MPNS) unter BENACHRICHTIGUNGSEINSTELLUNGEN aus.Select Windows Phone (MPNS) under NOTIFICATION SETTINGS.

  2. Wählen Sie Authentifizierungspushbenachrichtigungen aktivieren aus.Select Enable authentication push.

  3. Wählen Sie auf der Symbolleiste Speichern aus.Select Save on the toolbar.

    Azure-Portal: Nicht authentifizierte Pushbenachrichtigungen zulassen

    Der Hub ist jetzt erstellt und so konfiguriert, dass nicht authentifizierte Benachrichtigungen für Windows Phone gesendet werden.Your hub is now created and configured to send unauthenticated notification for Windows Phone.

    Hinweis

    Dieses Lernprogramm verwendet MPNS im nicht authentifizierten Modus.This tutorial uses MPNS in unauthenticated mode. Im nicht authentifizierten MPNS-Modus liegen Einschränkungen für Benachrichtigungen vor, die Sie an jeden Kanal senden können.MPNS unauthenticated mode comes with restrictions on notifications that you can send to each channel. Notification Hubs unterstützt den authentifizierten MPNS-Modus , wodurch Sie Ihr Zertifikat hochladen können.Notification Hubs supports MPNS authenticated mode by allowing you to upload your certificate.

Erstellen einer Windows Phone-AnwendungCreate a Windows Phone application

In diesem Abschnitt erstellen Sie eine Windows Phone-Anwendung, die sich selbst bei Ihrem Notification Hub registriert.In this section, you create a Windows Phone application that registers itself with your notification hub.

  1. Erstellen Sie in Visual Studio eine neue Windows Phone 8-Anwendung.In Visual Studio, create a new Windows Phone 8 application.

    Visual Studio – Neues Projekt – Windows Phone-App

    In Visual Studio 2013 Update 2 oder höher erstellen Sie stattdessen eine Windows Phone Silverlight-Anwendung.In Visual Studio 2013 Update 2 or later, you instead create a Windows Phone Silverlight application.

    Visual Studio – Neues Projekt – Leere App – Windows Phone Silverlight

  2. Klicken Sie in Visual Studio mit der rechten Maustaste auf die Projektmappe, und klicken Sie dann auf NuGet-Pakete verwalten.In Visual Studio, right-click the solution, and then click Manage NuGet Packages.

  3. Suchen Sie nach WindowsAzure.Messaging.Managed , klicken Sie auf Installieren, und akzeptieren Sie die Nutzungsbedingungen.Search for WindowsAzure.Messaging.Managed and click Install, and then accept the terms of use.

    Visual Studio – NuGet-Paket-Manager

  4. Öffnen Sie die Datei "App.xaml.cs", und fügen Sie die folgenden using -Anweisungen hinzu:Open the file App.xaml.cs and add the following using statements:

     using Microsoft.Phone.Notification;
     using Microsoft.WindowsAzure.Messaging;
    
  5. Fügen Sie in App.xaml.cs am Anfang der Methode Application_Launching den folgenden Code hinzu:Add the following code at the top of Application_Launching method in App.xaml.cs:

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
    
        var channel = HttpNotificationChannel.Find("MyPushChannel");
        if (channel == null)
        {
            channel = new HttpNotificationChannel("MyPushChannel");
            channel.Open();
            channel.BindToShellToast();
        }
    
        channel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(async (o, args) =>
        {
            var hub = new NotificationHub("<hub name>", "<connection string>");
            var result = await hub.RegisterNativeAsync(args.ChannelUri.ToString());
    
            System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                MessageBox.Show("Registration :" + result.RegistrationId, "Registered", MessageBoxButton.OK);
            });
        });
    }
    

    Hinweis

    Der Wert MyPushChannel ist ein Index, der verwendet wird, um nach einem vorhandenen Kanal in der Sammlung HttpNotificationChannel zu suchen.The value MyPushChannel is an index that is used to lookup an existing channel in the HttpNotificationChannel collection. Wenn kein Kanal vorhanden ist, erstellen Sie einen neuen Eintrag mit diesem Namen.If there isn't one there, create a new entry with that name.

    Fügen Sie den Namen des Hubs und die Verbindungszeichenfolge DefaultListenSharedAccessSignature aus dem vorherigen Abschnitt ein.Insert the name of your hub and the connection string called DefaultListenSharedAccessSignature that you noted in the previous section. Dieser Code ruft den Kanal-URI für die App von MPNS ab und registriert dann diesen Kanal-URI bei Ihrem Benachrichtigungshub.This code retrieves the channel URI for the app from MPNS, and then registers that channel URI with your notification hub. Er sorgt außerdem dafür, dass der Kanal-URI in Ihrem Benachrichtigungshub registriert ist, sobald die Anwendung gestartet wird.It also guarantees that the channel URI is registered in your notification hub each time the application is launched.

    Hinweis

    Dieses Lernprogramm sendet eine Popupbenachrichtigung an das Gerät.This tutorial sends a toast notification to the device. Wenn Sie eine Kachelbenachrichtigung senden, müssen Sie stattdessen die Methode BindToShellTile für den Kanal aufrufen.When you send a tile notification, you must instead call the BindToShellTile method on the channel. Rufen Sie zur Unterstützung von Popup- und Kachelbenachrichtigungen sowohl BindToShellTile als auch BindToShellToast auf.To support both toast and tile notifications, call both BindToShellTile and BindToShellToast.

  6. Erweitern Sie im Projektmappen-Explorer Eigenschaften, öffnen Sie die Datei WMAppManifest.xml, klicken Sie auf die Registerkarte Funktionen, und aktivieren Sie die Funktion ID_CAP_PUSH_NOTIFICATION.In Solution Explorer, expand Properties, open the WMAppManifest.xml file, click the Capabilities tab, and make sure that the ID_CAP_PUSH_NOTIFICATION capability is checked. Ihre App kann jetzt Pushbenachrichtigungen empfangen.Your app can receive push notifications now.

    Visual Studio – Windows Phone-App-Funktionen

  7. Drücken Sie F5 , um die App auszuführen.Press the F5 key to run the app. In der App wird eine Registrierungsmeldung angezeigt.A registration message is displayed in the app.

  8. Schließen Sie die App, oder wechseln Sie zur Startseite.Close the app or switch to the home page.

    Hinweis

    Zum Empfangen einer Popup-Pushbenachrichtigung muss die Anwendung nicht im Vordergrund ausgeführt werden.To receive a toast push notification, the application must not be running in the foreground.

Testsendevorgang einer BenachrichtigungTest send a notification

  1. Wechseln Sie im Azure-Portal zur Registerkarte „Übersicht“.In the Azure portal, switch to the Overview tab.

  2. Wählen Sie Testsendevorgang aus.Select Test Send.

    Schaltfläche „Testsendevorgang“

  3. Führen Sie im Fenster Testsendevorgang die folgenden Schritte aus:In the Test Send window, take the following steps:

    1. Wählen Sie für Plattformen die Option Windows Phone aus.For Platforms, select Windows Phone.

    2. Wählen Sie für Benachrichtigungstyp die Option Popup aus.For Notification Type, select Toast.

    3. Wählen Sie Senden aus.Select Send

    4. Sie sehen das Ergebnis in der Liste am unteren Rand des Fensters.See the result in the list at the bottom of the window.

      Fenster „Testsendevorgang“

  4. Vergewissern Sie sich im Windows Phone-Emulator oder auf dem Windows-Telefon, dass die Benachrichtigung angezeigt wird.In the Windows Phone emulator or on the Windows phone, confirm that you see the notification message.

    Benachrichtigung auf dem Windows-Telefon

Nächste SchritteNext steps

In diesem einfachen Beispiel haben Sie Pushbenachrichtigungen an all Ihre Windows Phone 8-Geräte übertragen.In this simple example, you broadcasted push notifications to all your Windows Phone 8 devices. Fahren Sie mit dem folgenden Tutorial fort, um zu erfahren, wie Sie Pushbenachrichtigungen an bestimmte Geräte senden:Advance to the following tutorial to learn how to push notifications to specific devices: