Esercitazione: Inviare notifiche alle app della piattaforma UWP (Universal Windows Platform) con Hub di notifica di AzureTutorial: Send notifications to Universal Windows Platform apps by using Azure Notification Hubs

Questa esercitazione illustra come creare un hub di notifica per inviare notifiche push a un'app della piattaforma UWP (Universal Windows Platform).In this tutorial, you create a notification hub to send push notifications to a Universal Windows Platform (UWP) app. Si crea un'app di Windows Store vuota che riceve notifiche push tramite Windows Push Notification Service (WNS).You create a blank Windows Store app that receives push notifications by using the Windows Push Notification Service (WNS). Sarà quindi possibile usare l'hub di notifica per trasmettere notifiche push a tutti i dispositivi che eseguono l'app.Then, you use your notification hub to broadcast push notifications to all devices that are running your app.

Nota

Il codice completo per questa esercitazione è disponibile in GitHub.You can find the completed code for this tutorial on GitHub.

Seguire questa procedura:You take the following steps:

  • Creare un'app in Windows StoreCreate an app in Windows Store
  • Creare un hub di notificaCreate a notification hub
  • Creare un'app Windows di esempioCreate a sample Windows app
  • Inviare notifiche di provaSend test notifications

PrerequisitiPrerequisites

  • Sottoscrizione di Azure.Azure subscription. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.If you don't have an Azure subscription, create a free Azure account before you begin.
  • Microsoft Visual Studio 2017 o versioni successive.Microsoft Visual Studio 2017 or later. Nell'esempio di questa esercitazione viene usato Visual Studio 2019.The example in this tutorial uses Visual Studio 2019.
  • Strumenti per lo sviluppo di app UWP installatiUWP app-development tools installed
  • Account di Windows Store attivoAn active Windows Store account
  • Verificare che l'impostazione Ottieni notifiche delle app e da altri mittenti sia abilitata.Confirm that Get notifications from apps and other senders setting is enabled.
    • Aprire la finestra Impostazioni sul computer.Launch Settings window on your computer.
    • Selezionare il riquadro Sistema.Select the System tile.
    • Selezionare Notifiche e azioni dal menu a sinistra.Select Notifications & actions from the left menu.
    • Verificare che l'impostazione Ottieni notifiche delle app e da altri mittenti sia abilitata.Confirm that the Get notifications from apps and other senders setting is enabled. Se non lo è, abilitarla.If it isn't enabled, enable it.

Il completamento di questa esercitazione è un prerequisito per tutte le altre esercitazioni relative a Hub di notifica per le app UWP.Completing this tutorial is a prerequisite for all other Notification Hubs tutorials for UWP apps.

Creare un'app in Windows StoreCreate an app in Windows Store

Per inviare notifiche push ad app UWP, associare l'app a Windows Store.To send push notifications to UWP apps, associate your app to the Windows Store. Configurare quindi l'hub di notifica per l'integrazione con WNS.Then, configure your notification hub to integrate with WNS.

  1. Passare a Windows Dev Center, accedere con il proprio account Microsoft e quindi selezionare Create a new app (Crea una nuova app).Navigate to the Windows Dev Center, sign in with your Microsoft account, and then select Create a new app.

    Pulsante New app (Nuova app)

  2. Digitare un nome per l'app e quindi selezionare Reserve product name (Riserva nome del prodotto).Type a name for your app, and then select Reserve product name. Verrà così creata una nuova registrazione a Windows Store per l'app.Doing so creates a new Windows Store registration for your app.

    Archiviare il nome app

  3. Espandere Product management (Gestione prodotti), selezionare WNS/MPNS, quindi selezionare il sito Live Services.Expand Product management, select WNS/MPNS, and then select Live Services site. Effettuare l'accesso all'account Microsoft.Sign in to your Microsoft account. La pagina di registrazione dell'applicazione viene aperta in una nuova scheda. In alternativa è possibile passare direttamente alla pagina Applicazioni personali e selezionare il nome dell'applicazione per accedere a questa pagina.The application registration page opens in a new tab. Alternatively, you can navigate directly to the My applications page, and select your application name to get to this page.

    Pagina WNS MPNS

  4. Prendere nota della password di Segreti applicazione e dell'Identificatore di sicurezza del pacchetto (SID) .Note the Application Secrets password and the Package security identifier (SID).

    Avviso

    Il segreto applicazione e il SID di pacchetto sono importanti credenziali di sicurezza.The application secret and package SID are important security credentials. Non condividere questi valori con altri utenti né distribuirli con l'app.Do not share these values with anyone or distribute them with your app.

Creare un hub di notificaCreate a Notification Hub

  1. Accedere al portale di Azure.Sign in to the Azure portal.

  2. Scegliere Tutti i servizi dal menu a sinistra e quindi selezionare Hub di notifica nella sezione Dispositivi mobili.Select All services on the left menu, and then select Notification Hubs in the Mobile section. Selezionare l'icona a forma di stella accanto al nome del servizio per aggiungere il servizio alla sezione PREFERITI nel menu a sinistra.Select the star icon next to the service name to add the service to the FAVORITES section on the left menu. Dopo aver aggiunto Hub di notifica a PREFERITI, selezionarlo nel menu a sinistra.After you add Notification Hubs to FAVORITES, select it on the left menu.

    Portale di Azure - Selezionare Hub di notifica

  3. Nella pagina Hub di notifica selezionare Aggiungi sulla barra degli strumenti.On the Notification Hubs page, select Add on the toolbar.

    Hub di notifica - Pulsante Aggiungi della barra degli strumenti

  4. Nella pagina Hub di notifica procedere come segue:On the Notification Hub page, do the following steps:

    1. Immettere un nome in Hub di notifica.Enter a name in Notification Hub.

    2. Immettere un nome in Crea un nuovo spazio dei nomi.Enter a name in Create a new namespace. Uno spazio dei nomi contiene uno o più hub.A namespace contains one or more hubs.

    3. Selezionare un valore nell'elenco a discesa Posizione.Select a value from the Location drop-down list box. Questo valore specifica la posizione in cui creare l'hub.This value specifies the location in which you want to create the hub.

    4. Selezionare un gruppo di risorse esistente in Gruppo di risorse o creare un nome per un nuovo gruppo di risorse.Select an existing resource group in Resource Group, or create a name for a new resource group.

    5. Selezionare Create (Crea).Select Create.

      Portale di Azure: impostare le proprietà dell'hub di notifica

  5. Selezionare Notifiche (icona a forma di campanello) e quindi selezionare Vai alla risorsa.Select Notifications (the bell icon), and then select Go to resource. È anche possibile aggiornare l'elenco nella pagina Hub di notifica e selezionare l'hub.You can also refresh the list on the Notification Hubs page and select your hub.

    Portale di Azure - Notifiche -> Vai alla risorsa

  6. Selezionare Criteri di accesso dall'elenco.Select Access Policies from the list. Prendere nota delle due stringhe di connessione disponibili.Note that the two connection strings are available to you. Sono necessarie in un secondo momento per gestire le notifiche push.You'll need them later to handle push notifications.

    Importante

    Non usare il criterio DefaultFullSharedAccessSignature nell'applicazione.Do not use the DefaultFullSharedAccessSignature policy in your application. Deve essere usato solo nel back-end.This is meant to be used in your back end only.

    Portale di Azure: stringhe di connessione dell'hub di notifica

Configurare le impostazioni WNS per l'hubConfigure WNS settings for the hub

  1. Selezionare Windows (WNS) nella categoria NOTIFICATION SETTINGS (IMPOSTAZIONI DI NOTIFICA).In the NOTIFICATION SETTINGS category, select Windows (WNS).

  2. Immettere i valori per Package SID (SID pacchetto) e Security Key (Chiave di sicurezza) annotati nella sezione precedente.Enter values for Package SID and Security Key you noted from the previous section.

  3. Fare clic su Save sulla barra degli strumenti.Click Save on the toolbar.

    Caselle SID pacchetto e Chiave di sicurezza

L'hub di notifica è ora configurato per l'uso di WNS.Your notification hub is now configured to work with WNS. Sono disponibili le stringhe di connessione per la registrazione dell'app e l'invio di notifiche.You have the connection strings to register your app and send notifications.

Creare un'app Windows di esempioCreate a sample Windows app

  1. In Visual Studio scegliere Nuovo dal menu File, quindi fare clic su Progetto.In Visual Studio, open the File menu, select New, and then select Project.

  2. Nella finestra di dialogo Crea un nuovo progetto completare questa procedura:In the Create a new project dialog, complete the following steps:

    1. Nella casella di ricerca in alto digitare Windows Universal.In the search box at the top, type Windows Universal.

    2. Nei risultati della ricerca selezionare Blank App (Universal Windows) (App vuota (Windows universale)) e quindi selezionare Avanti.In the search results, select Blank App (Universal Windows), and then select Next.

      Finestra di dialogo Nuovo progetto

    3. Nella finestra di dialogo Configura il nuovo progetto immettere un Nome progetto e un Percorso per i file di progetto.In the Configure your new project dialog, enter a Project name, and a Location for the project files.

    4. Selezionare Create (Crea).Select Create.

  3. Accettare le impostazioni predefinite per le versioni di destinazione e minima della piattaforma e selezionare OK.Accept the defaults for the target and minimum platform versions, and select OK.

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di app di Windows Store, scegliere Pubblica e quindi selezionare Associa applicazione a Store.In Solution Explorer, right-click the Windows Store app project, select Publish, and then select Associate App with the Store. Viene visualizzata la procedura guidata Associa l'applicazione con Windows Store .The Associate Your App with the Windows Store wizard appears.

  5. Nella procedura guidata accedere con il proprio account Microsoft.In the wizard, sign in with your Microsoft account.

  6. Selezionare l'app registrata nel passaggio 2, quindi Avanti e infine Associa.Select the app that you registered in step 2, select Next, and then select Associate. Le informazioni di registrazione a Windows Store necessarie verranno così aggiunte al manifesto dell'applicazione.Doing so adds the required Windows Store registration information to the application manifest.

  7. In Visual Studio fare clic con il pulsante destro del mouse sulla soluzione e quindi scegliere Gestisci pacchetti NuGet.In Visual Studio, right-click the solution, and then select Manage NuGet Packages. Verrà visualizzata la finestra Gestisci pacchetti NuGet.The Manage NuGet Packages window opens.

  8. Nella casella di ricerca immettere WindowsAzure.Messaging.Managed, selezionare Installa e accettare le condizioni per l'utilizzo.In the search box, enter WindowsAzure.Messaging.Managed, select Install, and accept the terms of use.

    Finestra Gestisci pacchetti NuGet

    Questa azione scarica, installa e aggiunge un riferimento alla libreria di Hub di notifica di Azure per Windows usando il pacchetto NuGet Microsoft.Azure.NotificationHubs.This action downloads, installs, and adds a reference to the Azure Notification Hubs library for Windows by using the Microsoft.Azure.NotificationHubs NuGet package.

  9. Aprire il file di progetto App.xaml.cs e aggiungere le istruzioni seguenti:Open the App.xaml.cs project file, and add the following statements:

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. Nel file di progetto App.xaml.cs individuare la classe App e aggiungere la definizione del metodo InitNotificationsAsync seguente.In the project's App.xaml.cs file, locate the App class, and add the following InitNotificationsAsync method definition. Sostituire <your hub name> con il nome dell'hub di notifica creato nel portale di Azure e sostituire <Your DefaultListenSharedAccessSignature connection string> con la stringa di connessione DefaultListenSharedAccessSignature presente nella pagina Criteri di accesso dell'hub di notifica:Replace <your hub name> with the name of the notification hub you created in the Azure portal, and replace <Your DefaultListenSharedAccessSignature connection string> with the DefaultListenSharedAccessSignature connection string from the Access Polices page of your notification hub:

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

    Questo codice recupera il valore di ChannelURI per l'app da Servizi notifica Push Windows e quindi lo registra con l'hub di notifica.This code retrieves the channel URI for the app from WNS, and then registers that channel URI with your notification hub.

    Nota

    Sostituire il segnaposto hub name con il nome dell'hub di notifica visualizzato nel portale di Azure.Replace the hub name placeholder with the name of the notification hub that appears in the Azure portal. Sostituire anche il segnaposto della stringa di connessione con la stringa di connessione DefaultListenSharedAccessSignature ottenuta nella pagina Criteri di accesso dell'hub di notifica in una sezione precedente.Also replace the connection string placeholder with the DefaultListenSharedAccessSignature connection string that you obtained from the Access Polices page of your notification hub in a previous section.

  11. Nella parte superiore del gestore dell'evento OnLaunched in App.xaml.cs aggiungere la chiamata seguente al nuovo metodo InitNotificationsAsync:At the top of the OnLaunched event handler in App.xaml.cs, add the following call to the new InitNotificationsAsync method:

    InitNotificationsAsync();
    

    Questa azione garantisce la registrazione dell'URI di canale nell'hub di notifica a ogni avvio dell'applicazione.This action guarantees that the channel URI is registered in your notification hub each time the application launches.

  12. Per eseguire l'app, premere F5.To run the app, press the keyboard's F5 key. Verrà visualizzata una finestra di dialogo contenente la chiave di registrazione.A dialog box containing the registration key will display. Per chiudere la finestra di dialogo, fare clic su OK.To close the dialog, click OK.

    Registrazione completata

L'app è ora pronta per ricevere notifiche di tipo avviso popup.Your app is now ready to receive toast notifications.

Inviare notifiche di provaSend test notifications

È possibile testare rapidamente la ricezione di notifiche nell'app inviando notifiche nel portale di Azure.You can quickly test receiving notifications in your app by sending notifications in the Azure portal.

  1. Nel portale di Azure passare alla scheda Overview (Informazioni generali) e selezionare Test Send (Invio di prova) sulla barra degli strumenti.In the Azure portal, switch to the Overview tab, and select Test Send on the toolbar.

    Pulsante Test Send (Invio di prova)

  2. Nella finestra Test Send (Invio di prova) eseguire le operazioni seguenti:In the Test Send window, do the following actions:

    1. Per Platforms (Piattaforme) selezionare Windows.For Platforms, select Windows.

    2. Per Notification Type (Tipo di notifica) selezionare Toast (Avviso popup).For Notification Type, select Toast.

    3. Selezionare Send (Invia).Select Send.

      Riquadro Invio di prova

  3. Visualizzare il risultato dell'operazione di invio nell'elenco dei risultati nella parte inferiore della finestra.See the result of the Send operation in the Result list at the bottom of the window. È inoltre possibile visualizzare un messaggio di avviso.You also see an alert message.

    Risultato dell'operazione di invio

  4. Viene visualizzato il messaggio di notifica: Test message (messaggio di prova) sul desktop.You see the notification message: Test message on your desktop.

    Messaggio di notifica

Passaggi successiviNext steps

Sono state inviate notifiche di trasmissione a tutti i dispositivi Windows usando il portale o un'app console.You have sent broadcast notifications to all your Windows devices by using the portal or a console app. Per informazioni sulle procedure per eseguire il push di notifiche a dispositivi specifici, passare all'esercitazione seguente:To learn how to push notifications to specific devices, advance to the following tutorial: