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.

  1. Przejdź do Centrum deweloperów systemu Windows, zaloguj się przy użyciu konta Microsoft, a następnie wybierz pozycję Utwórz nową aplikację.

    New app button

  2. Wpisz nazwę aplikacji i wybierz pozycję Rezerwuj nazwę produktu. Spowoduje to utworzenie nowej rejestracji aplikacji w Sklepie Windows.

    Store app name

  3. 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 .

    Partner center apps

  4. 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.

    WNS page

  5. W obszarze Podstawowe elementy wybierz pozycję Poświadczenia klienta: Dodaj certyfikat lub wpis tajny.

    Notification Hub settings on Azure portal

  6. 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.

    Client secret on portal

    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ń

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz pozycję Wszystkie usługi w menu po lewej stronie. A screenshot showing select All Services for an existing namespace.

  3. 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.

    A screenshot showing how to filter for notification hubs.

  4. Na stronie Notification Hubs wybierz pozycję Utwórz na pasku narzędzi.

    A screenshot showing how to create a new notification hub.

  5. Na karcie Podstawowe na stronie Centrum powiadomień wykonaj następujące czynności:

    1. 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ą.

    2. Wprowadź unikatową nazwę nowej przestrzeni nazw w obszarze Szczegóły przestrzeni nazw.

    3. Przestrzeń nazw zawiera co najmniej jedno centrum powiadomień, więc wpisz nazwę centrum w obszarze Szczegóły centrum powiadomień.

    4. Wybierz wartość z listy rozwijanej Lokalizacja . Ta wartość określa lokalizację, w której chcesz utworzyć centrum.

      Screenshot showing notification hub details.

    5. 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.

    6. 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.

      Screenshot showing availability zone details.

    7. Wybierz pozycję Utwórz.

  6. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.

Konfigurowanie ustawień usługi WNS na potrzeby centrum

  1. W kategorii USTAWIENIA POWIADOMIEŃ wybierz pozycję Windows (WNS).

  2. Wprowadź wartości identyfikatora SID pakietu (na przykład "ms-app://<Your Package SID>") i klucz zabezpieczeń (klucz tajny aplikacji) zanotowany w poprzedniej sekcji.

  3. Kliknij przycisk Zapisz na pasku narzędzi.

    The Package SID and Security Key boxes

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

  1. W programie Visual Studio otwórz menu Plik, wybierz pozycję Nowy, a następnie wybierz pozycję Projekt.

  2. W oknie dialogowym Tworzenie nowego projektu wykonaj następujące kroki:

    1. W polu wyszukiwania u góry wpisz Windows Universal.

    2. W wynikach wyszukiwania wybierz pozycję Pusta aplikacja (uniwersalny system Windows), a następnie wybierz pozycję Dalej.

      New Project dialog

    3. W oknie dialogowym Konfigurowanie nowego projektu wprowadź nazwę projektu i lokalizację plików projektu.

    4. Wybierz pozycję Utwórz.

  3. Zaakceptuj wartości domyślne dla wersji platformy docelowej i minimalnej, a następnie wybierz pozycję OK.

  4. 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.

  5. W kreatorze zaloguj się za pomocą konta Microsoft.

  6. 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.

  7. 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.

  8. W polu wyszukiwania wprowadź ciąg WindowsAzure.Messaging.Managed, wybierz pozycję Zainstaluj i zaakceptuj warunki użytkowania.

    The Manage NuGet Packages window

    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.

  9. 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;
    
  10. 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łączenia DefaultListenSharedAccessSignature uzyskanych ze strony Zasady dostępu Twojego centrum powiadomień w poprzedniej sekcji.

  11. W górnej części programu obsługi zdarzeń OnLaunched w pliku App.xaml.cs dodaj następujące wywołanie do nowej metody InitNotificationsAsync:

    InitNotificationsAsync();
    

    Ta akcja gwarantuje, że identyfikator URI kanału jest rejestrowany w centrum powiadomień przy każdym uruchomieniu aplikacji.

  12. 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.

  13. Aby uruchomić aplikację, naciśnij klawisz F5 na klawiaturze. Zostanie wyświetlone okno dialogowe z kluczem rejestracji. Kliknij przycisk OK, aby zamknąć okno dialogowe.

    Registration successful

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.

  1. W witrynie Azure Portal przełącz się na kartę Przegląd i wybierz pozycję Wysyłanie testowe na pasku narzędzi.

    Test Send button

  2. W oknie Wysyłanie testowe wykonaj następujące czynności:

    1. W obszarze Platformy wybierz pozycję Windows.

    2. W obszarze Typ powiadomienia wybierz pozycję Wyskakujące.

    3. Wybierz Wyślij.

      The Test Send pane

  3. Zobacz wynik operacji wysyłania na liście Wynik w dolnej części okna. Możesz też zobaczyć komunikat alertu.

    Result of Send operation

  4. Zobaczysz komunikat z powiadomieniem: Wiadomość testowa na pulpicie.

    Notification message

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: