Samouczek: wysyłanie powiadomień do aplikacji platforma uniwersalna systemu Windows przy użyciu usługi Azure Notification Hubs
Korzystając z tego samouczka, utworzysz centrum powiadomień, aby wysyłać powiadomienia push do aplikacji platformy uniwersalnej systemu Windows (UWP, Universal Windows Platform). Utworzysz pustą aplikację dla Sklepu Windows, która odbiera powiadomienia push przy użyciu usługi powiadomień push systemu Windows (WNS). Następnie użyjesz centrum powiadomień, aby rozgłasić powiadomienia wypychane na wszystkich urządzeniach z uruchomioną aplikacją.
Uwaga
Kompletny kod dla tego samouczka można znaleźć w witrynie GitHub.
Wykonaj następujące czynności:
- Tworzenie aplikacji w Sklepie Windows
- Tworzenie centrum powiadomień
- Tworzenie przykładowej aplikacji systemu Windows
- Wysyłanie powiadomień testowych
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
- Program Microsoft Visual Studio 2017 lub nowszy. W przykładzie w tym samouczku jest używany program Visual Studio 2019.
- Zainstalowane narzędzia do programowania aplikacji platformy UWP
- Aktywne konto Sklepu Windows
- Upewnij się, że opcja Pobierz powiadomienia z aplikacji i innych nadawców jest włączona.
- Uruchom okno Ustawienia na komputerze.
- Wybierz kafelek System.
- Wybierz pozycję Powiadomienia i akcje z menu po lewej stronie.
- Upewnij się, że ustawienie Pobierz powiadomienia z aplikacji i innych nadawców jest włączone. Jeśli nie jest włączona, włącz ją.
Wykonanie czynności opisanych w tym samouczku jest wymaganiem wstępnym dla wszystkich innych samouczków usługi Notification Hubs dotyczących aplikacji platformy UWP.
Tworzenie aplikacji w Sklepie Windows
Uwaga
Usługa powiadomień wypychanych firmy Microsoft (MPNS) jest przestarzała i nie jest już obsługiwana.
Aby wysyłać powiadomienia push do aplikacji platformy UWP, skojarz aplikację ze Sklepem Windows. Następnie skonfiguruj integrację centrum powiadomień z usługą WNS.
Przejdź do Centrum deweloperów systemu Windows, zaloguj się przy użyciu konta Microsoft, a następnie wybierz pozycję Utwórz nową aplikację.
Wpisz nazwę aplikacji i wybierz pozycję Rezerwuj nazwę produktu. Spowoduje to utworzenie nowej rejestracji aplikacji w Sklepie Windows.
Rozwiń węzeł Zarządzanie produktami, a następnie wybierz pozycję Tożsamość produktu. Zanotuj wartości Package SID, Package/Identity/Name, Package/Identity/Publisher i Package/Properties/PublisherDisplayName .
W obszarze Zarządzanie produktami wybierz pozycję WNS/MPNS, a następnie wybierz pozycję Portal rejestracji aplikacji. Zaloguj się na konto Microsoft. Strona rejestracji aplikacji zostanie otwarta na nowej karcie.
W obszarze Podstawowe elementy wybierz pozycję Poświadczenia klienta: Dodaj certyfikat lub wpis tajny.
Na stronie Certyfikaty i wpisy tajne w obszarze Wpisy tajne klienta wybierz pozycję Nowy klucz tajny klienta. Po utworzeniu wpisu tajnego klienta (nazywanego również wpisem tajnym aplikacji) zanotuj go przed opuszczeniem strony.
Ostrzeżenie
Wartości wpisu tajnego klienta (wpisu tajnego aplikacji) można wyświetlać tylko natychmiast po ich utworzeniu. Pamiętaj, aby zapisać wpis tajny przed opuszczeniem strony.
Ostrzeżenie
Klucz tajny aplikacji i identyfikator SID pakietu są ważnymi poświadczeniami zabezpieczeń. Nie udostępniaj nikomu tych wartości ani nie rozpowszechniaj ich razem z aplikacją.
Tworzenie centrum powiadomień
Zaloguj się w witrynie Azure Portal.
Wybierz pozycję Wszystkie usługi w menu po lewej stronie.
Wpisz Notification Hubs w polu tekstowym Filtruj usługi . Wybierz ikonę gwiazdki obok nazwy usługi, aby dodać usługę do sekcji ULUBIONE w menu po lewej stronie. Wybierz pozycję Notification Hubs.
Na stronie Notification Hubs wybierz pozycję Utwórz na pasku narzędzi.
Na karcie Podstawowe na stronie Centrum powiadomień wykonaj następujące czynności:
W obszarze Subskrypcja wybierz nazwę subskrypcji platformy Azure, której chcesz użyć, a następnie wybierz istniejącą grupę zasobów lub utwórz nową.
Wprowadź unikatową nazwę nowej przestrzeni nazw w obszarze Szczegóły przestrzeni nazw.
Przestrzeń nazw zawiera co najmniej jedno centrum powiadomień, więc wpisz nazwę centrum w obszarze Szczegóły centrum powiadomień.
Wybierz wartość z listy rozwijanej Lokalizacja . Ta wartość określa lokalizację, w której chcesz utworzyć centrum.
Przejrzyj opcję Strefy dostępności. Jeśli wybrano region ze strefami dostępności, pole wyboru jest zaznaczone domyślnie. Strefy dostępności jest funkcją płatną, dlatego do warstwy jest dodawana dodatkowa opłata.
Wybierz opcję Odzyskiwania po awarii: Brak, Sparowany region odzyskiwania lub Elastyczny region odzyskiwania. Jeśli wybierzesz region odzyskiwania sparowanego, zostanie wyświetlony region trybu failover. Jeśli wybierzesz pozycję Elastyczny region odzyskiwania, użyj listy rozwijanej, aby wybrać z listy regionów odzyskiwania.
Wybierz pozycję Utwórz.
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
Konfigurowanie ustawień usługi WNS na potrzeby centrum
W kategorii USTAWIENIA POWIADOMIEŃ wybierz pozycję Windows (WNS).
Wprowadź wartości identyfikatora SID pakietu (na przykład "ms-app://
<Your Package SID>
") i klucz zabezpieczeń (klucz tajny aplikacji) zanotowany w poprzedniej sekcji.Kliknij przycisk Zapisz na pasku narzędzi.
Twoje centrum powiadomień jest teraz skonfigurowane do pracy z usługą WNS. Masz parametry połączenia potrzebne do zarejestrowania aplikacji i wysyłania powiadomień.
Tworzenie przykładowej aplikacji systemu Windows
W programie Visual Studio otwórz menu Plik, wybierz pozycję Nowy, a następnie wybierz pozycję Projekt.
W oknie dialogowym Tworzenie nowego projektu wykonaj następujące kroki:
W polu wyszukiwania u góry wpisz Windows Universal.
W wynikach wyszukiwania wybierz pozycję Pusta aplikacja (uniwersalny system Windows), a następnie wybierz pozycję Dalej.
W oknie dialogowym Konfigurowanie nowego projektu wprowadź nazwę projektu i lokalizację plików projektu.
Wybierz pozycję Utwórz.
Zaakceptuj wartości domyślne dla wersji platformy docelowej i minimalnej, a następnie wybierz pozycję OK.
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt aplikacji ze Sklepu Windows, wybierz pozycję Publikuj, a następnie wybierz pozycję Skojarz aplikację ze Sklepem. Zostanie wyświetlony kreator Kojarzenie aplikacji ze Sklepem Windows.
W kreatorze zaloguj się za pomocą konta Microsoft.
Wybierz aplikację zarejestrowaną w kroku 2, wybierz przycisk Dalej, a następnie wybierz pozycję Skojarz. Spowoduje to dodanie wymaganych informacji dotyczących rejestracji w Sklepie Windows do manifestu aplikacji.
W programie Visual Studio kliknij prawym przyciskiem myszy rozwiązanie, a następnie wybierz pozycję Zarządzaj pakietami NuGet. Zostanie otwarte okno Zarządzanie pakietami NuGet.
W polu wyszukiwania wprowadź ciąg WindowsAzure.Messaging.Managed, wybierz pozycję Zainstaluj i zaakceptuj warunki użytkowania.
Ta akcja spowoduje pobranie, zainstalowanie i dodanie odwołania do biblioteki usługi Azure Notification Hubs dla systemu Windows przy użyciu pakietu NuGet Microsoft.Azure.NotificationHubs.
Otwórz plik projektu
App.xaml.cs
i dodaj następujące instrukcje:using Windows.Networking.PushNotifications; using Microsoft.WindowsAzure.Messaging; using Windows.UI.Popups;
W pliku projektu
App.xaml.cs
znajdź klasęApp
i dodaj następującąInitNotificationsAsync
definicję metody. Zastąp<your hub name>
ciąg nazwą centrum powiadomień utworzonego w witrynie Azure Portal i zastąp<Your DefaultListenSharedAccessSignature connection string>
DefaultListenSharedAccessSignature
ciąg parametry połączenia na stronie Zasady dostępu centrum powiadomień: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(); } }
Ten kod pobiera identyfikator URI kanału dla aplikacji z usługi WNS, a następnie rejestruje ten identyfikator URI kanału w centrum powiadomień.
Uwaga
Zastąp tekst
hub name
nazwą centrum powiadomień wyświetlaną w witrynie Azure Portal. Zastąp również symbol zastępczy parametrów połączenia przy użyciu parametrów połączeniaDefaultListenSharedAccessSignature
uzyskanych ze strony Zasady dostępu Twojego centrum powiadomień w poprzedniej sekcji.W górnej części programu obsługi zdarzeń
OnLaunched
w plikuApp.xaml.cs
dodaj następujące wywołanie do nowej metodyInitNotificationsAsync
:InitNotificationsAsync();
Ta akcja gwarantuje, że identyfikator URI kanału jest rejestrowany w centrum powiadomień przy każdym uruchomieniu aplikacji.
Kliknij prawym przyciskiem myszy
Package.appxmanifest
i wybierz polecenie Wyświetl kod (F7). Znajdź<Identity .../>
i zastąp wartość Name wartością Package/Identity/Name i zastąp jej wartość Publisher wartością Package/Identity/Publisher z utworzonej wcześniej aplikacji.Aby uruchomić aplikację, naciśnij klawisz F5 na klawiaturze. Zostanie wyświetlone okno dialogowe z kluczem rejestracji. Kliknij przycisk OK, aby zamknąć okno dialogowe.
Aplikacja jest teraz gotowa do odbierania wyskakujących powiadomień.
Wysyłanie powiadomień testowych
Możesz szybko przetestować odbieranie powiadomień w aplikacji, wysyłając powiadomienia w witrynie Azure Portal.
W witrynie Azure Portal przełącz się na kartę Przegląd i wybierz pozycję Wysyłanie testowe na pasku narzędzi.
W oknie Wysyłanie testowe wykonaj następujące czynności:
W obszarze Platformy wybierz pozycję Windows.
W obszarze Typ powiadomienia wybierz pozycję Wyskakujące.
Wybierz Wyślij.
Zobacz wynik operacji wysyłania na liście Wynik w dolnej części okna. Możesz też zobaczyć komunikat alertu.
Zobaczysz komunikat z powiadomieniem: Wiadomość testowa na pulpicie.
Następne kroki
Powiadomienia o emisji zostały wysłane do wszystkich urządzeń z systemem Windows przy użyciu portalu lub aplikacji konsolowej. Aby dowiedzieć się, jak wysyłać powiadomienia push do konkretnych urządzeń, przejdź do następującego samouczka: