Delen via


Zelfstudie: Meldingen verzenden naar Universal 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 met behulp van de Windows Push Notification Service (WNS). Vervolgens gebruikt u uw Notification Hub om pushmeldingen uit te zenden naar alle apparaten waarop uw app wordt uitgevoerd.

Opmerking

U vindt de volledige code voor deze zelfstudie op GitHub.

U voert de volgende stappen uit:

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

Vereiste voorwaarden

  • 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 voorbeeld in deze zelfstudie wordt Visual Studio 2019 gebruikt.
  • UWP-hulpprogramma's voor app-ontwikkeling geïnstalleerd.
  • Een actief Windows Store-account.
  • Controleer of meldingen ontvangen van apps en andere afzenders is ingeschakeld.
    • Start het venster Instellingen op uw computer.
    • Klik op de tegel Systeem.
    • Selecteer Meldingen en acties in het linkermenu.
    • Controleer of de instelling Meldingen ontvangen van apps en andere afzenders is ingeschakeld. Als deze niet is ingeschakeld, 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

Opmerking

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. Configureer vervolgens uw Notification Hub om te integreren met WNS.

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

    Nieuwe app-knop

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

    Store-app-naam

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

    Partnercentrum-apps

  4. Selecteer onder ProductbeheerWNS/MPNS en selecteer vervolgens de portal app-registratie. Meld u aan bij uw Microsoft-account. De registratiepagina van de toepassing wordt geopend op een nieuw tabblad.

    WNS-pagina

  5. Selecteer onder Essentialsclientreferenties: Een certificaat of geheim toevoegen.

    Notification Hub-instellingen in Azure Portal

  6. Selecteer op de pagina Certificaten en geheimen onder Clientgeheimende 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.

    Clientsleutel in portal

    Waarschuwing

    Het toepassingsgeheim en de pakket-SID zijn belangrijke beveiligingsreferenties. Deel deze waarden niet met iemand of 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. Een schermopname waarin de optie 'All Services' voor een bestaande naamruimte wordt getoond.

  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. Klik op Notification Hubs.

    Een schermopname die laat zien hoe u filtert op Notification Hubs.

  4. Op de Notification Hubs-pagina, selecteer Creëren op de werkbalk.

    Een schermopname die laat zien hoe u een nieuwe Notification Hub maakt.

  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.

      Schermopname met de details van de meldingshub.

    5. Controleer de optie Beschikbaarheidszones. Als u een regio met beschikbaarheidszones hebt gekozen, is het selectievakje standaard ingeschakeld. Beschikbaarheidszones zijn een betaalde functie, waardoor er extra kosten aan uw abonnementsniveau worden 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.

      Schermopname met details van de beschikbaarheidszone.

    7. Klik op Creëren.

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

WNS-instellingen configureren voor de hub

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

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

  3. Klik op Opslaan op de werkbalk.

    De vakken SID-pakket en beveiligingssleutel

Uw Notification Hub is nu geconfigureerd voor gebruik met WNS. U hebt de verbindingsreeksen om uw app te registreren en meldingen te verzenden.

Een windows-voorbeeld-app 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:

    • Typ Windows Universal in het zoekvak bovenaan.

    • Selecteer in de zoekresultaten Lege app (Universal Windows) en selecteer vervolgens Volgende.

      Nieuw project dialoogvenster

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

    • Klik op Creëren.

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

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

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

  6. Selecteer de app die u hebt geregistreerd in stap 2, selecteer Volgende en selecteer vervolgens Koppelen. Als u dit doet, worden de vereiste windows Store-registratiegegevens toegevoegd aan het toepassingsmanifest.

  7. Klik in Visual Studio met de rechtermuisknop op de oplossing en selecteer NuGet-pakketten beheren. Het venster NuGet-pakketten beheren wordt geopend.

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

    Het venster NuGet-pakketten beheren

    Met deze actie wordt een verwijzing naar de Azure Notification Hubs-bibliotheek voor Windows gedownload, geïnstalleerd en toegevoegd met behulp van het NuGet-pakket Microsoft.Azure.NotificationHubs.

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

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. Zoek in het bestand van App.xaml.cs het project de App klasse en voeg de volgende InitNotificationsAsync methodedefinitie toe. Vervang <your hub name> door de naam van de Notification Hub die u hebt gemaakt in Azure Portal en vervang deze door <Your DefaultListenSharedAccessSignature connection string> de DefaultListenSharedAccessSignature verbindingsreeks op 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 die kanaal-URI vervolgens geregistreerd bij uw Notification Hub.

    Opmerking

    Vervang de hub name tijdelijke aanduiding door de naam van de Notification Hub die wordt weergegeven in Azure Portal. Vervang ook de tijdelijke aanduiding voor de verbindingsreeks door de DefaultListenSharedAccessSignature verbindingsreeks die u hebt verkregen via de pagina Toegangsbeleid van uw Notification Hub in een vorige sectie.

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

    InitNotificationsAsync();
    

    Deze actie garandeert dat de kanaal-URI wordt geregistreerd in uw Notification Hub telkens wanneer de toepassing wordt gestart.

  12. Klik met de rechtermuisknop Package.appxmanifest en selecteer Code weergeven (F7). Zoek <Identity .../> en vervang de Name-waarde door de Package/Identity/Name en vervang de Publisher-waarde door de Package/Identity/Publisher waarde van de app die u eerder hebt gemaakt.

  13. Druk op de F5-toets van het toetsenbord om de app uit te voeren. Er wordt een dialoogvenster met de registratiesleutel weergegeven. Klik op OK om het dialoogvenster te sluiten.

    Registratie geslaagd

Uw app is nu klaar om toastmeldingen te ontvangen.

Testmeldingen verzenden

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

  1. Ga in Azure Portal naar het tabblad Overzicht en selecteer Verzenden testen op de werkbalk.

    Verzendknop testen

  2. Voer in het venster Verzenden testen de volgende acties uit:

    • Selecteer Windows voor Platforms.

    • Voor Meldingstype selecteert u Toast-melding.

    • Klik op Verzenden.

      Het paneel Test Verzenden

  3. Bekijk het resultaat van de bewerking Verzenden in de lijst Met resultaten onderaan het venster. U ziet ook een waarschuwingsbericht.

    Resultaat van verzendbewerking

  4. U ziet het meldingsbericht: Testbericht op uw bureaublad.

    Meldingsbericht

Volgende stappen

U hebt broadcastmeldingen verzonden naar al uw Windows-apparaten met behulp van Azure Portal of een console-app. Ga verder met de volgende zelfstudie als u wilt weten hoe u pushmeldingen kunt verzenden naar specifieke apparaten: