Självstudie: Skicka meddelanden till Universell Windows-plattform appar med Hjälp av Azure Notification Hubs
I den här självstudiekursen kommer du att skapa en meddelandehubb för att skicka push-meddelanden till en Windows Universal Platform-app (UWP). Du skapar en tom Windows Store-app som tar emot push-meddelanden med hjälp av Windows Push Notification Service (WNS). Sedan använder du meddelandehubben för att skicka push-meddelanden till alla enheter som kör din app.
Kommentar
Du hittar den färdiga koden för den här självstudiekursen på GitHub.
Du utför följande steg:
- Skapa en app i Windows Store
- Skapa en meddelandehubb
- Skapa en Windows-exempelapp
- Skicka testmeddelanden
Förutsättningar
- Azure-prenumeration. Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt Azure-konto innan du börjar.
- Microsoft Visual Studio 2017 eller senare. I exemplet i den här självstudien används Visual Studio 2019.
- Installerade verktyg för UWP-apputveckling
- Ett aktivt Windows Store-konto
- Bekräfta att inställningen Hämta meddelanden från appar och andra avsändare är aktiverad.
- Starta Inställningar fönster på datorn.
- Välj panelen System .
- Välj Meddelanden och åtgärder på den vänstra menyn.
- Bekräfta att inställningen Hämta meddelanden från appar och andra avsändare är aktiverad. Om den inte är aktiverad aktiverar du den.
Du måste slutföra den här självstudiekursen innan du börjar någon annan kurs om Notification Hubs för UWP-appar.
Skapa en app i Windows Store
Kommentar
Microsoft Push Notification Service (MPNS) har blivit inaktuell och stöds inte längre.
Om du vill skicka push-meddelanden till UWP-appar, associerar du din app med Windows Store. Konfigurera sedan meddelandehubben för att integrera den med WNS.
Navigera till Windows Dev Center, logga in med ditt Microsoft-konto och välj sedan Skapa en ny app.
Ange ett namn på appen och markera sedan Reservera produktnamn. På så sätt skapas en ny Windows Store-registrering för din app.
Expandera Produkthantering och välj sedan Produktidentitet. Anteckna värdena Package SID, Package/Identity/Name, Package/Identity/Publisher och Package/Properties/PublisherDisplayName .
Under Produkthantering väljer du WNS/MPNS och sedan Appregistreringsportal. Logga in på ditt Microsoft-konto. Programregistreringssidan öppnas på en ny flik.
Under Essentials väljer du Klientautentiseringsuppgifter: Lägg till ett certifikat eller en hemlighet.
På sidan Certifikat och hemligheter går du till Klienthemligheter och väljer Ny klienthemlighet. När du har skapat en klienthemlighet (kallas även en programhemlighet) bör du anteckna den innan du lämnar sidan.
Varning
Du kan bara visa klienthemlighetsvärden (programhemlighet) omedelbart efter att du har skapat dem. Spara hemligheten innan du lämnar sidan.
Varning
Programhemligheten och paket-SID:et är viktiga säkerhetsuppgifter. Lämna aldrig ut dessa uppgifter till någon och distribuera dem inte tillsammans med din app.
Skapa en meddelandehubb
Logga in på Azure-portalen.
Välj Alla tjänster på den vänstra menyn.
Skriv Notification Hubs i textrutan Filtertjänster . Välj stjärnikonen bredvid tjänstnamnet för att lägga till tjänsten i avsnittet FAVORITER på den vänstra menyn. Välj Notification Hubs.
På sidan Notification Hubs väljer du Skapa i verktygsfältet.
Gör följande på fliken Grundläggande på sidan Notification Hub:
I Prenumeration väljer du namnet på den Azure-prenumeration som du vill använda och väljer sedan en befintlig resursgrupp eller skapar en ny.
Ange ett unikt namn för det nya namnområdet i Namnområdesinformation.
Ett namnområde innehåller en eller flera meddelandehubbar, så skriv ett namn för hubben i Meddelandehubbens information.
Välj ett värde i listrutan Plats . Det här värdet anger den plats där du vill skapa hubben.
Granska alternativet Tillgänglighetszoner. Om du väljer en region som har tillgänglighetszoner markeras kryssrutan som standard. Tillgänglighetszoner är en betald funktion, så en extra avgift läggs till på din nivå.
Välj ett alternativ för haveriberedskap : Ingen, Länkad återställningsregion eller Flexibel återställningsregion. Om du väljer Länkad återställningsregion visas redundansregionen. Om du väljer Flexibel återställningsregion använder du listrutan för att välja från en lista över återställningsregioner.
Välj Skapa.
När distributionen är klar väljer du Gå till resurs.
Konfigurera WNS-inställningar för hubben
I kategorin MEDDELANDEINSTÄLLNINGAR väljer du Windows (WNS).
Ange värden för Paket-SID (som den här "ms-app://
<Your Package SID>
") och säkerhetsnyckeln (programhemligheten) som du antecknade i föregående avsnitt.Klicka på Spara i verktygsfältet.
Din meddelandehubb har nu konfigurerats för att fungera med WNS. Du har anslutningssträngarna för att registrera din app och skicka meddelanden.
Skapa en Windows-exempelapp
I Visual Studio öppnar du menyn Arkiv. Välj Nytt och sedan Projekt.
Slutför följande steg i dialogrutan Skapa ett nytt projekt:
I sökrutan längst upp skriver du Windows Universal.
I sökresultaten väljer du Tom app (Universell Windows) och sedan Nästa.
I dialogrutan Konfigurera det nya projektet anger du ett projektnamn och en plats för projektfilerna.
Välj Skapa.
Acceptera standardinställningarna för mål- och minimumplattformsversioner och välj OK.
Högerklicka på Windows Store-appprojektet i Solution Explorer, välj Publicera och välj sedan Associera app med Store. Guiden Associera din app med Windows Store visas.
I guiden loggar du in med ditt Microsoft-konto.
Välj den app som du registrerade i steg 2, väljer Nästa och välj sedan Associera. På så sätt läggs den registreringsinformation som krävs för Windows Store till i programmanifestet.
Högerklicka på lösningen i Vision Studio och välj sedan Hantera NuGet-paket. Fönstret Hantera NuGet-paket öppnas.
I sökrutan anger du WindowsAzure.Messaging.Managed, väljer Installera och godkänner användningsvillkoren.
Den här åtgärden hämtar, installerar och lägger till en referens i Azure Notification Hubs-biblioteket för Windows med hjälp av Microsoft.Azure.Notification Hubs-NuGet-paketet.
Öppna
App.xaml.cs
-projektfilen och lägg till följande instruktioner:using Windows.Networking.PushNotifications; using Microsoft.WindowsAzure.Messaging; using Windows.UI.Popups;
Leta upp klassen i
App
projektetsApp.xaml.cs
fil och lägg till följandeInitNotificationsAsync
metoddefinition. Ersätt<your hub name>
med namnet på meddelandehubben som du skapade i Azure-portalen och ersätt<Your DefaultListenSharedAccessSignature connection string>
medDefaultListenSharedAccessSignature
anslutningssträng från sidan Åtkomstprinciper i meddelandehubben: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(); } }
Den här koden hämtar URI-kanalen för appen från WNS och registrerar sedan denna med din meddelandehubb.
Kommentar
Ersätt platshållaren
hub name
med namnet på den meddelandehubb som visas i Azure-portalen. Byt även ut platshållaren för anslutningssträngen mot denDefaultListenSharedAccessSignature
-anslutningssträng som du fick från sidan Åtkomstpolicyer i meddelandehubben i ett tidigare avsnitt.Längst upp i
OnLaunched
-händelsehanteraren iApp.xaml.cs
lägger du till följande anrop till den nyaInitNotificationsAsync
-metoden:InitNotificationsAsync();
Den här åtgärden garanterar att kanal-URI registreras i meddelandehubben varje gång programmet startas.
Högerklicka
Package.appxmanifest
och välj Visa kod (F7). Leta upp<Identity .../>
och ersätt värdet Namn med värdet Package/Identity/Name och ersätt dess Publisher-värde med värdet Package/Identity/Publisher från appen som du skapade tidigare.Kör appen genom att trycka på F5 på tangentbordet. En dialogruta som innehåller registreringsnyckeln visas. Stäng dialogrutan genom att klicka på OK.
Appen är nu redo att ta emot popup-meddelanden.
Skicka testmeddelanden
Du kan snabbt testa att ta emot meddelanden i appen genom att skicka meddelanden från Azure-portalen.
Växla till fliken Översikt i Azure Portal och välj Testskicka i verktygsfältet.
Utför följande i fönstret Testskicka:
Välj Windows under Plattformar.
Välj Toast under Meddelandetyp.
Välj Skicka.
Se resultatet av Send-åtgärden i listan Resultat längst ned i fönstret. Du kan också se ett varningsmeddelande.
Aviseringsmeddelandet Testmeddelande visas på skrivbordet.
Nästa steg
Du har skickat sändningsmeddelanden till alla dina Windows-enheter med hjälp av portalen eller en konsolapp. Information om hur du skickar meddelanden till specifika enheter finns i följande självstudie: