Zelfstudie: Meldingen verzenden naar Universeel Windows-platform apps met behulp van Azure Notification Hubs

In deze zelfstudie maakt u een Notification Hub om pushmeldingen te verzenden naar een UWP-app (Universal Windows Platform). U maakt een lege Windows Store-app die pushmeldingen ontvangt via Windows Push Notification Service (WNS). Vervolgens gebruikt u uw Notification Hub om pushmeldingen te verzenden naar alle apparaten waarop uw app wordt uitgevoerd.

Notitie

De volledige code voor deze zelfstudie vindt u op GitHub.

U voert de volgende stappen uit:

  • Een app maken in Windows Store
  • Een Notification Hub maken
  • Een voorbeeld-app voor Windows maken
  • Testmeldingen verzenden

Vereisten

  • Azure-abonnement. Als u nog geen abonnement op Azure hebt, maakt u een gratis Azure-account voordat u begint.
  • Microsoft Visual Studio 2017 of hoger. In het voorbeelden in deze zelfstudie wordt Visual Studio 2019 gebruikt.
  • Ontwikkelhulpprogramma's voor UWP-apps geïnstalleerd
  • Een actief Windows Store-account
  • Controleer of Meldingen van apps en andere afzenders ontvangen is ingeschakeld.
    • Open het venster Instellingen op de computer.
    • Selecteer de tegel Systeem.
    • Selecteer Meldingen en acties in het menu aan de linkerkant.
    • Controleer of de instelling Meldingen van apps en andere afzenders ontvangen is ingeschakeld. Als dat niet het geval is, schakelt u deze in.

Het voltooien van deze zelfstudie is een vereiste voor alle andere Notification Hubs-zelfstudies voor UWP-apps.

Een app maken in Windows Store

Notitie

Microsoft Push Notification Service (MPNS) is afgeschaft en wordt niet meer ondersteund.

Als u pushmeldingen naar UWP-apps wilt verzenden, koppelt u uw app aan de Windows Store. Vervolgens configureert u de Notification Hub voor integratie met WNS.

  1. Navigeer naar het Windows-ontwikkelaarscentrum, meld u aan met uw Microsoft-account en selecteer vervolgens Een nieuwe app maken.

    New app button

  2. Typ een naam voor uw app en selecteer Productnaam reserveren. Hiermee maakt u een nieuwe Windows Store-registratie voor uw app.

    Store app name

  3. Vouw Productbeheer uit en selecteer Vervolgens Productidentiteit. Noteer de waarden package SID, Package/Identity/Name, Package/Identity/Publisher en Package/Properties/PublisherDisplayName .

    Partner center apps

  4. Selecteer onder Productbeheer WNS/MPNS en selecteer vervolgens de portal app-registratie. Meld u aan bij uw Microsoft-account. De toepassingsregistratiepagina wordt in een nieuw tabblad geopend.

    WNS page

  5. Selecteer onder Essentials clientreferenties: Een certificaat of geheim toevoegen.

    Notification Hub settings on Azure portal

  6. Selecteer op de pagina Certificaten en geheimen onder Clientgeheimen de optie Nieuw clientgeheim. Nadat u een clientgeheim (ook wel een toepassingsgeheim genoemd) hebt gemaakt, noteert u het voordat u de pagina verlaat.

    Waarschuwing

    U kunt alleen waarden voor clientgeheimen (toepassingsgeheim) weergeven direct nadat u ze hebt gemaakt. Zorg ervoor dat u het geheim opslaat voordat u de pagina verlaat.

    Client secret on portal

    Waarschuwing

    Het toepassingsgeheim en de pakket-SID zijn belangrijke beveiligingsreferenties. Deel deze waarden met niemand en distribueer ze niet met uw app.

Een Notification Hub maken

  1. Meld u aan bij het Azure-portaal.

  2. Selecteer Alle services in het linkermenu. A screenshot showing select All Services for an existing namespace.

  3. Typ Notification Hubs in het tekstvak Filterservices . Selecteer het sterpictogram naast de servicenaam om de service toe te voegen aan de sectie FAVORIETEN in het menu aan de linkerkant. Selecteer Notification Hubs.

    A screenshot showing how to filter for notification hubs.

  4. Selecteer Op de pagina Notification Hubs maken op de werkbalk.

    A screenshot showing how to create a new notification hub.

  5. Voer op het tabblad Basis op de pagina Notification Hub de volgende stappen uit:

    1. Selecteer in Abonnement de naam van het Azure-abonnement dat u wilt gebruiken en selecteer vervolgens een bestaande resourcegroep of maak een nieuw abonnement.

    2. Voer een unieke naam in voor de nieuwe naamruimte in Naamruimtedetails.

    3. Een naamruimte bevat een of meer Notification Hubs, dus typ een naam voor de hub in Notification Hub Details.

    4. Selecteer een waarde in de vervolgkeuzelijst Locatie. Deze waarde specificeert de locatie waar u de hub wilt maken.

      Screenshot showing notification hub details.

    5. Controleer de optie Beschikbaarheidszones. Als u een regio met beschikbaarheidszones hebt gekozen, is het selectievakje standaard ingeschakeld. Beschikbaarheidszones is een betaalde functie, dus er worden extra kosten aan uw laag toegevoegd.

    6. Kies een optie voor herstel na noodgevallen : Geen, Gekoppelde herstelregio of Flexibele herstelregio. Als u gekoppelde herstelregio kiest, wordt de failoverregio weergegeven. Als u Flexibele herstelregio selecteert, gebruikt u de vervolgkeuzelijst om te kiezen uit een lijst met herstelregio's.

      Screenshot showing availability zone details.

    7. Selecteer Maken.

  6. Wanneer de implementatie is voltooid, selecteert u Ga naar de resource.

WNS-instellingen voor de hub configureren

  1. Selecteer in de categorie MELDINGSINSTELLINGEN de optie Windows (WNS).

  2. Voer waarden in voor pakket-SID (zoals deze 'ms-app://<Your Package SID>') en beveiligingssleutel (het toepassingsgeheim) die u in de vorige sectie hebt genoteerd.

  3. Klik op Opslaan op de werkbalk.

    The Package SID and Security Key boxes

De Notification Hub is nu geconfigureerd om met WNS te kunnen werken. U hebt de verbindingsreeksen om uw app te registreren en meldingen te verzenden.

Een voorbeeld-app voor Windows maken

  1. Open in Visual Studio het menu File en selecteer New en vervolgens Project.

  2. Voer in het dialoogvenster Een nieuw project maken de volgende stappen uit:

    1. Typ Windows Universal in het zoekvak bovenaan.

    2. Selecteer in de zoekresultaten Lege app (Universeel Windows) en selecteer vervolgens Volgende.

      New Project dialog

    3. Voer in het dialoogvenster Uw nieuwe project configureren een projectnaam in en een locatie voor de projectbestanden in.

    4. Selecteer Maken.

  3. Accepteer de standaardwaarden voor het doel en de minimale platformversies en selecteer OK.

  4. Klik in Solution Explorer met de rechtermuisknop op het Windows Store-app-project, selecteer Publiceren en klik vervolgens op App aan de Store koppelen. Hierop wordt de wizard Uw app koppelen aan Windows Store weergegeven.

  5. Meld u in de wizard aan met uw Microsoft-account.

  6. Selecteer de app die u in stap 2 hebt geregistreerd, selecteer Volgende en selecteer vervolgens koppelen. Hierdoor worden de vereiste registratiegegevens voor Windows Store toegevoegd aan het toepassingsmanifest.

  7. Klik met de rechtermuisknop op de oplossing in Visual Studio en selecteer Manage NuGet Packages. Het venster Manage NuGet Packages wordt geopend.

  8. Voer in het zoekvak WindowsAzure.Messaging.Managed in, selecteer Install en accepteer de gebruiksvoorwaarden.

    The Manage NuGet Packages window

    Met deze actie wordt een verwijzing gedownload, geïnstalleerd en toegevoegd. Deze verwijst naar de Azure Notification Hubs-bibliotheek voor Windows door gebruik te maken van het Microsoft.Azure.NotificationHubs NuGet-pakket.

  9. Open het projectbestand App.xaml.cs en voeg de volgende instructies toe:

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. Zoek in het bestand App.xaml.cs van het project de klasse App en voeg de volgende InitNotificationsAsync-methodedefinitie toe. Vervang <your hub name> door de naam van de Notification Hub die u hebt gemaakt in de Azure-portal, en vervang <Your DefaultListenSharedAccessSignature connection string> door de verbindingsreeks DefaultListenSharedAccessSignature van de pagina Toegangsbeleid van uw Notification Hub:

    private async void InitNotificationsAsync()
    {
        var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
    
        var hub = new NotificationHub("<your hub name>", "<Your DefaultListenSharedAccessSignature connection string>");
        var result = await hub.RegisterNativeAsync(channel.Uri);
    
        // Displays the registration ID so you know it was successful
        if (result.RegistrationId != null)
        {
            var dialog = new MessageDialog("Registration successful: " + result.RegistrationId);
            dialog.Commands.Add(new UICommand("OK"));
            await dialog.ShowAsync();
        }
    }
    

    Met deze code wordt de kanaal-URI voor de app opgehaald uit WNS en wordt vervolgens die kanaal-URI voor uw Notification Hub geregistreerd.

    Notitie

    Vervang de tijdelijke aanduiding hub name door de naam van de Notification Hub die in de Azure-portal wordt weergegeven. Vervang ook de tijdelijke plaatsaanduiding van de verbindingstekenreeks door de verbindingsreeks DefaultListenSharedAccessSignature die u in een eerdere sectie hebt verkregen op de pagina Toegangsbeleid van uw Notification Hub.

  11. Voeg bovenaan de gebeurtenis-handler OnLaunched in App.xaml.cs de volgende oproep naar de nieuwe methode InitNotificationsAsync toe:

    InitNotificationsAsync();
    

    Met deze actie wordt gegarandeerd dat de kanaal-URI in uw Notification Hub wordt geregistreerd telkens wanneer de toepassing wordt gestart.

  12. Klik met de rechtermuisknop Package.appxmanifest en selecteer Code weergeven (F7). Zoek <Identity .../> en vervang de naamwaarde door het pakket/de identiteit/naam en vervang de uitgeverwaarde door de waarde package/identity/publisher van de app die u eerder hebt gemaakt.

  13. Als u de app wilt uitvoeren, drukt u de toets F5 op het toetsenbord. Er wordt een dialoogvenster met de registratiesleutel weergegeven. Klik op OK om het dialoogvenster te sluiten.

    Registration successful

Uw app is nu gereed om pop-upmeldingen te ontvangen.

Testmeldingen verzenden

U kunt het ontvangen van meldingen in de app snel testen door meldingen te verzenden in Azure Portal.

  1. Ga in de Azure Portal naar het tabblad Overzicht en selecteer Test verzenden op de werkbalk.

    Test Send button

  2. Voer in het venster Test verzenden de volgende acties uit:

    1. Selecteer Windows bij Platforms.

    2. Selecteer Pop-up bij Meldingstype.

    3. Selecteer Verzenden.

      The Test Send pane

  3. Bekijk het resultaat van de verzendbewerking in de lijst Resultaat onder in het venster. U ziet ook een waarschuwingsbericht.

    Result of Send operation

  4. U ziet de melding Testbericht op het bureaublad.

    Notification message

Volgende stappen

U hebt meldingen verzonden naar al uw Windows-apparaten via de portal of een console-app. Ga verder met de volgende zelfstudie als u wilt weten hoe u pushmeldingen kunt verzenden naar specifieke apparaten: