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

In questa esercitazione vengono completati i passaggi seguenti:In this tutorial, you take the following steps:

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

prerequisitiPrerequisites

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 App Management (Gestione app), selezionare WNS/MPNS, selezionare WNS/MPNS, quindi selezionare il sito Live Services.Expand App Management, select WNS/MPNS, select WNS/MPNS, and then select Live Services site. Effettuare l'accesso all'account Microsoft.Sign in to your Microsoft account. L'Application Registration Portal (Portale di registrazione delle applicazioni) si apre in una nuova scheda. In alternativa è possibile passare direttamente all'Application Registration Portal (Portale di registrazione delle applicazioni) e selezionare il nome dell'applicazione per accedere a questa pagina.The Application Registration Portal opens in a new tab. Alternatively, you can navigate directly to the Application Registration Portal, select your application name to get to this page.

    Pagina WNS MPNS

  4. Prendere nota della password dell'Application Secret (Segreto dell'applicazione) e del Package security identifier (SID) (ID di sicurezza (SID) del pacchetto).Note the Application Secret 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. Selezionare Crea una risorsa > Dispositivi mobili > Hub di notifica.Select Create a resource > Mobile > Notification Hub.

    Portale di Azure: creare un hub di notifica

  3. Nella casella Hub di notifica digitare un nome univoco.In the Notification Hub box, type a unique name. Selezionare l'area, la sottoscrizione e il gruppo di risorse (se già disponibili).Select your Region, Subscription, and Resource Group (if you have one already).

    Se non si ha già uno spazio dei nomi del bus di servizio, è possibile usare il nome predefinito, che viene creato in base al nome dell'hub (se lo spazio dei nomi è disponibile).If you don't already have a service bus namespace, you can use the default name, which is created based on the hub name (if the namespace name is available).

    Se si ha già un spazio dei nomi del bus di servizio in cui si vuole creare l'hub, seguire questa proceduraIf you already have a service bus namespace that you want to create the hub in, follow these steps

    a.a. Nell'area Spazio dei nomi selezionare il collegamento Seleziona esistente.In the Namespace area, select the Select Existing link.

    b.b. Selezionare Create.Select Create.

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

  4. Selezionare Notifiche (icona a forma di campanello) e selezionare Vai alla risorsa.Select Notifications (Bell icon), and select Go to resource.

    Portale di Azure - Notifiche -> Vai alla risorsa

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

    Importante

    NON usare DefaultFullSharedAccessSignature nell'applicazione.Do NOT use the DefaultFullSharedAccessSignature 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).Select Windows (WNS) in the NOTIFICATION SETTINGS category.
  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. Sulla barra degli strumenti selezionare Salva.Select 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 selezionare File, New (Nuovo) e quindi Project (Progetto).In Visual Studio, select File, point to New, and select Project.
  2. Nella finestra di dialogo Nuovo progetto seguire questa procedura:In the New Project dialog box, do the following steps:

    1. Espandere Visual C#.Expand Visual C#.
    2. Selezionare Windows Universal.Select Windows Universal.
    3. Selezionare Blank App (Universal Windows) (App vuota (Windows universale)).Select Blank App (Universal Windows).
    4. Immettere un nome per il progetto.Enter a name for the project.
    5. Selezionare OK.Select OK.

      Finestra di dialogo Nuovo progetto

  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 Store e quindi selezionare Associa applicazione a Store.In Solution Explorer, right-click the Windows Store app project, select Store, 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 using seguenti:Open the App.xaml.cs project file, and add the following using statements:

     using Windows.Networking.PushNotifications;
     using Microsoft.WindowsAzure.Messaging;
     using Windows.UI.Popups;
    
  10. In App.xaml.cs, aggiungere alla classe App la definizione del metodo InitNotificationsAsync seguente:In App.xaml.cs, also add to the App class the following InitNotificationsAsync method definition:

     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 relativo alla 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. All'inizio 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 is launched.

  12. Per eseguire l'app, premere F5.To run the app, select the F5 key. Verrà visualizzata una finestra di dialogo contenente la chiave di registrazione.A dialog box that contains the registration key is displayed. Fare clic su OK per chiudere la finestra di dialogo.To close the dialog, select 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

In questa esercitazione sono state inviate notifiche di trasmissione a tutti i dispositivi Windows usando il portale o un'app console.In this tutorial, you 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: