Kurz: Odesílání oznámení do aplikací Univerzální platforma Windows pomocí služby Azure Notification Hubs

V tomto kurzu vytvoříte centrum oznámení, které posílá nabízená oznámení aplikaci pro Univerzální platformu Windows (UPW). Vytvoříte prázdnou aplikaci pro Windows Store, která přijímá nabízená oznámení ze Služby nabízených oznámení Windows (WNS). Pak použijete centrum oznámení k vysílání nabízených oznámení na všechna zařízení, na kterých běží vaše aplikace.

Poznámka:

Dokončený kód pro tento kurz najdete na GitHubu.

Provedete následující kroky:

  • Vytvoříte aplikaci ve Windows Storu
  • Vytvořit centrum oznámení
  • Vytvoříte ukázkovou aplikaci pro Windows
  • Odešlete zkušební oznámení

Požadavky

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
  • Microsoft Visual Studio 2017 nebo novější Příklad v tomto kurzu používá Visual Studio 2019.
  • Nainstalované nástroje pro vývoj aplikací pro UPW
  • Aktivní účet Windows Store
  • Ověřte, že je povolené nastavení Získat oznámení z aplikací a dalších odesílatelů .
    • Na počítači spusťte okno Nastavení.
    • Vyberte dlaždici Systém .
    • V nabídce vlevo vyberte Oznámení a akce .
    • Ověřte, že je povolené nastavení Získat oznámení z aplikací a dalších odesílatelů . Pokud není povolený, povolte ho.

Dokončení tohoto kurzu je předpokladem pro všechny ostatní kurzy služby Notification Hubs pro aplikace UPW.

Vytvoříte aplikaci ve Windows Storu

Poznámka:

Služba MPNS (Microsoft Push Notification Service) je zastaralá a už se nepodporuje.

Pokud chcete odesílat nabízená oznámení do aplikací UPW, přidružte svou aplikaci k Windows Store. Pak nakonfigurujte centrum oznámení pro integraci se službou WNS.

  1. Přejděte na web Windows Dev Center, přihlaste se pod svým účtem Microsoft a vyberte Vytvořit novou aplikaci.

    New app button

  2. Zadejte název aplikace a vyberte, že chcete rezervovat název produktu. Tím se vytvoří nová registrace Windows Store pro vaši aplikaci.

    Store app name

  3. Rozbalte položku Správa produktů a pak vyberte Produktová identita. Poznamenejte si hodnoty SID balíčku, Package/Identity/Name, Package/Identity/Publisher a Package/Properties/PublisherDisplayName.

    Partner center apps

  4. V části Správa produktů vyberte WNS/MPNS a pak vyberte Portál pro registraci aplikací. Přihlaste se ke svému účtu Microsoft. Stránka registrace aplikace se otevře na nové kartě.

    WNS page

  5. V části Základy vyberte Přihlašovací údaje klienta: Přidejte certifikát nebo tajný klíč.

    Notification Hub settings on Azure portal

  6. Na stránce Certifikáty a tajné kódy v části Tajné kódy klienta vyberte Nový tajný klíč klienta. Po vytvoření tajného klíče klienta (označovaného také jako tajný klíč aplikace) si ho poznamenejte, než stránku opustíte.

    Upozorňující

    Hodnoty tajného klíče klienta (tajný kód aplikace) můžete zobrazit jenom hned po jejich vytvoření. Před opuštěním stránky nezapomeňte tajný kód uložit.

    Client secret on portal

    Upozorňující

    Tajný klíč aplikace a SID balíčku jsou důležité přihlašovací údaje zabezpečení. Tyto hodnoty s nikým nesdílejte ani je nedistribuujte s vaší aplikací.

Vytvoření centra oznámení

  1. Přihlaste se k portálu Azure.

  2. V nabídce vlevo vyberte Všechny služby . A screenshot showing select All Services for an existing namespace.

  3. Do textového pole Filtrovat služby zadejte Notification Hubs. Výběrem ikony hvězdičky vedle názvu služby přidejte službu do oddílu OBLÍBENÉ V levé nabídce. Vyberte Notification Hubs.

    A screenshot showing how to filter for notification hubs.

  4. Na stránce Notification Hubs vyberte vytvořit na panelu nástrojů.

    A screenshot showing how to create a new notification hub.

  5. Na kartě Základy na stránce Centra oznámení proveďte následující kroky:

    1. V předplatném vyberte název předplatného Azure, které chcete použít, a pak vyberte existující skupinu prostředků nebo vytvořte novou.

    2. Do podrobností oboru názvů zadejte jedinečný název nového oboru názvů.

    3. Obor názvů obsahuje jedno nebo více center oznámení, proto do podrobností centra oznámení zadejte název centra.

    4. V rozevíracím seznamu Umístění vyberte hodnotu. Tato hodnota určuje umístění, ve kterém chcete centrum vytvořit.

      Screenshot showing notification hub details.

    5. Zkontrolujte možnost Zóny dostupnosti. Pokud jste vybrali oblast, která má zóny dostupnosti, je ve výchozím nastavení zaškrtnuté políčko. Zóny dostupnosti je placená funkce, takže do vaší úrovně se přidá další poplatek.

    6. Zvolte možnost zotavení po havárii: Žádná, Spárovaná oblast obnovení nebo Flexibilní oblast obnovení. Pokud zvolíte spárovanou oblast obnovení, zobrazí se oblast převzetí služeb při selhání. Pokud vyberete flexibilní oblast obnovení, vyberte si z rozevíracího seznamu oblastí obnovení.

      Screenshot showing availability zone details.

    7. Vyberte Vytvořit.

  6. Po dokončení nasazení vyberte Přejít k prostředku.

Konfigurace nastavení WNS centra

  1. V kategorii NASTAVENÍ OZNÁMENÍ vyberte Windows (WNS).

  2. Zadejte hodnoty pro SID balíčku (například ms-app://<Your Package SID>) a klíč zabezpečení (tajný klíč aplikace), které jste si poznamenali v předchozí části.

  3. Na panelu nástrojů klikněte na tlačítko Uložit.

    The Package SID and Security Key boxes

Vaše centrum oznámení je teď nakonfigurované pro práci se službou WNS. Máte připojovací řetězec, pomocí kterého můžete zaregistrovat aplikaci a odesílat oznámení.

Vytvoříte ukázkovou aplikaci pro Windows

  1. V sadě Visual Studio otevřete nabídku Soubor , vyberte Nový a pak vyberte Projekt.

  2. V dialogovém okně Vytvořit nový projekt proveďte následující kroky:

    1. Do vyhledávacího pole v horní části zadejte Univerzální systém Windows.

    2. Ve výsledcích hledání vyberte Prázdnou aplikaci (Univerzální windows) a pak vyberte Další.

      New Project dialog

    3. V dialogovém okně Konfigurovat nový projekt zadejte název projektu a umístění pro soubory projektu.

    4. Vyberte Vytvořit.

  3. Potvrďte výchozí hodnoty cíle, minimální verze platforem a vyberte OK.

  4. V Průzkumník řešení klikněte pravým tlačítkem na projekt aplikace pro Windows Store, vyberte Publikovat a pak vyberte Přidružit aplikaci ke Storu. Zobrazí se průvodce Přidružením aplikace k Windows Store.

  5. V průvodci se přihlaste pomocí svého účtu Microsoft.

  6. Vyberte aplikaci zaregistrovanou v kroku 2, vyberte Další a pak vyberte Přidružit. Tím se přidají požadované informace o registraci Windows Store do manifestu aplikace.

  7. V sadě Visual Studio klikněte pravým tlačítkem na řešení a pak vyberte Spravovat balíčky NuGet. Otevře se okno Spravovat balíčky NuGet.

  8. Do vyhledávacího pole zadejte WindowsAzure.Messaging.Managed, vyberte Nainstalovat a přijměte podmínky použití.

    The Manage NuGet Packages window

    Tato akce stáhne a nainstaluje knihovnu služby Azure Notification Hubs pro Windows a přidá na ni odkaz pomocí balíčku NuGet Microsoft.Azure.NotificationHubs.

  9. App.xaml.cs Otevřete soubor projektu a přidejte následující příkazy:

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. V souboru projektu App.xaml.cs vyhledejte App třídu a přidejte následující InitNotificationsAsync definici metody. Nahraďte <your hub name> názvem centra oznámení, které jste vytvořili na webu Azure Portal, a nahraďte <Your DefaultListenSharedAccessSignature connection string>DefaultListenSharedAccessSignature připojovací řetězec ze stránky Zásady přístupu vašeho centra oznámení:

    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();
        }
    }
    

    Tento kód načte identifikátor URI kanálu pro aplikaci z WNS a pak zaregistruje tento kanál URI pomocí centra oznámení.

    Poznámka:

    hub name Zástupný symbol nahraďte názvem centra oznámení, které se zobrazí na webu Azure Portal. Zástupný symbol DefaultListenSharedAccessSignature připojovací řetězec nahraďte také připojovací řetězec, který jste získali ze stránky Zásady přístupu centra oznámení v předchozí části.

  11. V horní části obslužné rutiny OnLaunched události přidejte App.xaml.csnásledující volání do nové InitNotificationsAsync metody:

    InitNotificationsAsync();
    

    Tato akce zaručuje, že identifikátor URI kanálu je zaregistrovaný v centru oznámení při každém spuštění aplikace.

  12. Klikněte pravým tlačítkem myši Package.appxmanifest a vyberte Zobrazit kód (F7). Vyhledejte a nahraďte <Identity .../>hodnotu Name hodnotou Package/Identity/Name a nahraďte její hodnotu vydavatele hodnotou Package/Identity/Publisher z aplikace, kterou jste vytvořili dříve.

  13. Aplikaci spustíte stisknutím klávesy F5 klávesnice. Zobrazí se dialogové okno obsahující registrační klíč. Dialogové okno zavřete kliknutím na tlačítko OK.

    Registration successful

Vaše aplikace je teď připravena přijímat oznámení informačního nápisu.

Odešlete zkušební oznámení

Příjem oznámení ve vaší aplikaci můžete rychle otestovat odesláním oznámení na webu Azure Portal.

  1. Na webu Azure Portal přepněte na kartu Přehled a na panelu nástrojů vyberte Poslat na zkoušku.

    Test Send button

  2. V okně Poslat na zkoušku proveďte následující akce:

    1. V položce Platformy vyberte Windows.

    2. V položce Typ oznámení vyberte Informační zpráva.

    3. Vyberte Odeslat.

      The Test Send pane

  3. Výsledek odeslání si můžete prohlédnout v seznamu Výsledek dole v okně. Vidíte tu také upozornění.

    Result of Send operation

  4. Na ploše se zobrazí oznámení o testovací zprávě.

    Notification message

Další kroky

Oznámení všesměrového vysílání jste odeslali všem zařízením s Windows pomocí portálu nebo konzolové aplikace. Pokud se chcete naučit posílat nabízená oznámení určitým zařízením, pokračujte následujícím kurzem: