Udostępnij za pośrednictwem


Samouczek: wysyłanie powiadomień do aplikacji platformy uniwersalnej systemu Windows przy użyciu usługi Azure Notification Hubs

W tym samouczku utworzysz hub powiadomień w celu wysyłania push powiadomień do aplikacji uniwersalnej platformy Windows (UWP). Tworzysz pustą aplikację Sklepu Windows, która odbiera powiadomienia push przy użyciu usługi powiadomień wypychanych systemu Windows (WNS). Następnie użyjesz centrum powiadomień, aby rozsyłać powiadomienia push we wszystkich urządzeniach z uruchomioną aplikacją.

Uwaga

Pełny kod 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 tym samouczku przykład używa programu Visual Studio 2019.
  • Zainstalowane narzędzia deweloperskie 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ą.

Ukończenie tego samouczka jest wymaganiem wstępnym dla wszystkich innych samouczków usługi Notification Hubs dla 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 UWP, skojarz aplikację z Microsoft Store. Następnie skonfiguruj centrum powiadomień w celu integracji 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ę.

    Przycisk Nowa aplikacja

  2. Wpisz nazwę aplikacji, a następnie wybierz pozycję Zarezerwuj nazwę produktu. Spowoduje to utworzenie nowej rejestracji w Sklepie Windows dla aplikacji.

    Nazwa aplikacji ze sklepu

  3. Rozwiń Zarządzanie produktami, a następnie wybierz Tożsamość produktu. Zanotuj wartości Package SID, Package/Identity/Name, Package/Identity/Publisher i Package/Properties/PublisherDisplayName .

    Aplikacje Centrum partnerskiego

  4. W obszarze Zarządzanie produktami wybierz pozycję WNS/MPNS, a następnie wybierz pozycję Portal rejestracji aplikacji. Zaloguj się do swojego konta Microsoft. Strona rejestracji aplikacji zostanie otwarta na nowej karcie.

    Strona sieci WNS

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

    Ustawienia centrum powiadomień w witrynie Azure Portal

  6. Na stronie Certyfikaty i wpisy tajne w obszarze Wpisy tajne klienta wybierz pozycję Nowy klucz tajny klienta. Po utworzeniu tajnego klucza klienta (nazywanego również tajnym kluczem 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.

    Tajny klucz klienta na portalu

    Ostrzeżenie

    Wpis tajny aplikacji i identyfikator SID pakietu są ważnymi poświadczeniami zabezpieczeń. Nie udostępniaj tych wartości nikomu ani nie rozpowszechniaj ich w aplikacji.

Tworzenie centrum powiadomień

  1. Zaloguj się do portalu Azure.

  2. Wybierz pozycję Wszystkie usługi w menu po lewej stronie. Zrzut ekranu przedstawiający pozycję Wszystkie usługi dla istniejącej przestrzeni nazw.

  3. W polu tekstowym Filtruj usługi wpisz Notification Hubs. Wybierz ikonę gwiazdki obok nazwy usługi, aby dodać usługę do sekcji ULUBIONE w menu po lewej stronie. Wybierz pozycję Notification Hubs.

    Zrzut ekranu przedstawiający sposób filtrowania centrów powiadomień.

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

    Zrzut ekranu przedstawiający sposób tworzenia nowego centrum powiadomień.

  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 jedno lub więcej centrów powiadomień, więc wpisz nazwę centrum w szczegółach centrum powiadomień.

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

      Zrzut ekranu przedstawiający szczegóły centrum powiadomień.

    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 są funkcją płatną, dlatego do twojego planu dodawana jest dodatkowa opłata.

    6. Wybierz opcję odzyskiwania po awarii:Brak, Sparowany region odzyskiwania, lub Elastyczny region odzyskiwania. Jeśli wybierzesz sparowany region odzyskiwania, zostanie wyświetlony region awaryjny. Jeśli wybierzesz pozycję Elastyczny region odzyskiwania, użyj listy rozwijanej, aby wybrać z listy regionów odzyskiwania.

      Zrzut ekranu przedstawiający szczegóły strefy dostępności.

    7. Wybierz Utwórz.

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

Konfigurowanie ustawień usługi WNS dla centrum

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

  2. Wprowadź wartości dla identyfikatora SID pakietu (na przykład "ms-app://<Your Package SID>") oraz klucza zabezpieczeń (czyli tajny aplikacji), które zanotowałeś w poprzedniej sekcji.

  3. Kliknij przycisk Zapisz na pasku narzędzi.

    Pola SID pakietu i klucz zabezpieczeń

Twoje centrum powiadomień jest teraz skonfigurowane do pracy z usługą WNS. Masz parametry połączenia 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:

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

      Okno dialogowe Nowy projekt

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

    • Wybierz Utwórz.

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

  4. W Eksploratorze 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ę przy użyciu konta Microsoft.

  6. Wybierz aplikację zarejestrowaną w kroku 2, wybierz pozycję Dalej, a następnie wybierz pozycję Skojarz. Spowoduje to dodanie wymaganych informacji o rejestracji w Sklepie Windows do manifestu aplikacji.

  7. W programie Visual Studio kliknij rozwiązanie prawym przyciskiem myszy, 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.

    Okno Zarządzanie pakietami NuGet

    Ta akcja powoduje 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. App.xaml.cs Otwórz plik projektu 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> nazwą centrum powiadomień, które utworzyłeś w portalu Azure, oraz zastąp <Your DefaultListenSharedAccessSignature connection string> ciągiem połączenia DefaultListenSharedAccessSignature ze strony 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

    hub name Zastąp symbol zastępczy nazwą centrum powiadomień wyświetlaną w witrynie Azure Portal. Zastąp również symbol zastępczy dla parametrów połączenia łańcuchem połączenia DefaultListenSharedAccessSignature uzyskanym ze strony Zasady dostępu centrum powiadomień w poprzedniej sekcji.

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

    InitNotificationsAsync();
    

    Ta akcja gwarantuje, że identyfikator URI kanału jest rejestrowany w centrum powiadomień za każdym razem, gdy aplikacja zostanie uruchomiona.

  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 F5 klawiatury. Zostanie wyświetlone okno dialogowe zawierające klucz rejestracji. Aby zamknąć okno dialogowe, kliknij przycisk OK.

    Rejestracja powiodła się

Twoja aplikacja jest teraz gotowa do odbierania powiadomień typu toast.

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 przejdź do karty Przegląd i wybierz pozycję Wyślij test na pasku narzędzi.

    Testuj przycisk Wyślij

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

    • W obszarze Platformy wybierz pozycję Windows.

    • W polu Typ powiadomienia wybierz pozycję Toast.

    • Wybierz Wyślij.

      Okno Testowego wysyłania

  3. Zobacz wynik operacji Wyślij na liście Wynik w dolnej części okna. Zostanie również wyświetlony komunikat o alercie.

    Wynik operacji wysyłania

  4. Zostanie wyświetlony komunikat z powiadomieniem: Komunikat testowy na pulpicie.

    Wiadomość z powiadomieniem

Następne kroki

Powiadomienia o emisji zostały wysłane do wszystkich urządzeń z systemem Windows przy użyciu witryny Azure Portal lub aplikacji konsolowej. Aby dowiedzieć się, jak wysyłać powiadomienia push do konkretnych urządzeń, przejdź do następującego samouczka: