Introduzione a Azure Mobile Engagement per app di Windows universaliGet started with Azure Mobile Engagement for Windows Universal Apps

Questo argomento descrive come usare Azure Mobile Engagement per ottenere informazioni sull'utilizzo dell'app e inviare notifiche push a utenti segmentati di un'applicazione universale di Windows.This topic shows you how to use Azure Mobile Engagement to understand your app usage and send push notifications to segmented users of a Windows Universal application. Questa esercitazione illustra uno scenario di trasmissione semplice tramite Mobile Engagement.This tutorial demonstrates the simple broadcast scenario using Mobile Engagement. Si crea un'app universale di Windows vuota che raccoglie dati di base relativi all'utilizzo dell'app e riceve notifiche push tramite Servizi notifica Push Windows (WNS).You create a blank Windows Universal App that collects basic app usage data and receives push notifications using Windows Notification Service (WNS).

Nota

Il servizio Azure Mobile Engagement verrà ritirato a marzo 2018 ed è attualmente disponibile solo per i clienti esistenti.The Azure Mobile Engagement service will be retired March 2018 and is currently only available to existing customers. Per altre informazioni, vedere Mobile Engagement.For more information, see Mobile Engagement.

PrerequisitiPrerequisites

Per completare questa esercitazione, è necessario disporre di:This tutorial requires the following:

Nota

Per completare l'esercitazione, è necessario disporre di un account Azure attivo.To complete this tutorial, you must have an active Azure account. Se non si dispone di un account, è possibile creare un account di valutazione gratuita in pochi minuti.If you don't have an account, you can create a free trial account in just a couple of minutes. Per informazioni dettagliate, vedere la pagina relativa alla versione di valutazione gratuita di Azure.For details, see Azure Free Trial.

Configurare Mobile Engagement per l'app universale di WindowsSet up Mobile Engagement for your Windows Universal app

  1. Accedere al portale di Azure.Log on to the Azure Portal.
  2. Fare clic su Nuovo, quindi su Web e dispositivi mobili e infine su Mobile Engagement.Click on New, then Web + Mobile, and then Mobile Engagement.

  3. Nel pannello New Mobile Engagement App Collection (Nuova raccolta di app Mobile Engagement) visualizzato si creerà una raccolta di app invece che un'app come nel portale di Azure classico.In the New Mobile Engagement App Collection blade that appears, you will be creating an App Collection instead of an App like in the Azure classic portal. Immettere le seguenti informazioni:Enter the following information:

    • Nome: Nome of your raccolta di applicazioniName: Name of your application collection
    • Piattaforme: selezionare le piattaforme di destinazione per l'app nel pannello Piattaforme che verrà aperto.Platforms: Select target platforms for your app on the Platforms blade which will open up. Ad esempio,E.g. se è necessaria un'app sia per iOS che per Android, selezionare entrambe le piattaforme per creare due app in questa raccolta di app.if you want an app for both iOS & Android then select both platforms and you will get two apps created under this app collection.

    • Sottoscrizione: selezionare la sottoscrizione di Azure.Subscription: Select the Azure subscription.
    • Gruppo di risorse: selezionare il gruppo di risorse di Azure in cui inserire questa risorsa di Azure (Raccolta di app Mobile Engagement).Resource group: Select the Azure Resource group in which you want this Azure resource (Mobile Engagement App Collection). È possibile scegliere di crearne uno nuovo.You can choose to create a new one.
    • Località: area in cui verranno archiviati i dati su questa raccolta di app e su questa app.Location: Region where the data about this app collection & app will be stored.
  4. Esplorare le raccolte di app Mobile Engagement facendo clic su Esplora e cercando Mobile EngagementBrowse through the Mobile Engagement app collections by clicking Browse and search for Mobile Engagement

  5. Verrà visualizzato un elenco di raccolte di app Mobile Engagement: assicurarsi di avere la stessa sottoscrizione di Azure in cui è stata creata la raccolta di app.You will be shown a list of Mobile Engagement App Collections - make sure you have the same Azure subscription where you created your App Collection.

  6. Fare clic sulla raccolta di app creata nel passaggio precedente per aprire il pannello della risorsa raccolta di app che visualizzerà le diverse app presenti in questa raccolta di app.Click on the App Collection that you created in the prior step to open up the App Collection resource blade which will show the different apps present inside this app collection.

  7. Fare clic sull'app creata per la piattaforma per cui si sta sviluppando.Click on the App created for the platform you are developing for.

  8. Fare clic sul pulsante di comando Informazioni di connessione in alto per aprire il pannello Informazioni di connessione e copiare la stringa di connessione.Click on Connection Info command button at the top to open up the Connection Info blade and copy the connection string from there.

Connettere l'app al back-end di Mobile EngagementConnect your app to the Mobile Engagement backend

Questa esercitazione presenta una "integrazione di base", che è la configurazione minima necessaria per raccogliere i dati e inviare una notifica push.This tutorial presents a "basic integration," which is the minimal set required to collect data and send a push notification. La documentazione sull'integrazione completa è reperibile nella integrazione di Mobile Engagement SDK per app di Windows universali.The complete integration documentation can be found in the Mobile Engagement Windows Universal SDK integration.

Si crea un'app di base con Visual Studio per illustrare l'integrazione.You create a basic app with Visual Studio to demonstrate the integration.

Creare un progetto di app universale di WindowsCreate a Windows Universal App project

I passaggi seguenti presuppongono l'utilizzo di Visual Studio 2015 anche se i passaggi sono simili nelle versioni precedenti di Visual Studio.The following steps assume the use of Visual Studio 2015 though the steps are similar in earlier versions of Visual Studio.

  1. Avviare Visual Studio e selezionare Nuovo progetto nella schermata Home.Start Visual Studio, and in the Home screen, select New Project.
  2. Nel popup selezionare Windows -> Universal -> App vuota (Windows universale).In the pop-up, select Windows -> Universal -> Blank App (Universal Windows). Inserire Nome e Nome soluzione dell'app, quindi fare clic su OK.Fill in the app Name and Solution name, and then click OK.

A questo punto è stata creata un'app universale di Windows in cui si integra quindi Azure Mobile Engagement SDK.You have now created a Windows Universal App project into which you next integrate the Azure Mobile Engagement SDK.

Connettere l'app al back-end di Mobile EngagementConnect your app to Mobile Engagement backend

  1. Installare il pacchetto NuGet MicrosoftAzure.MobileEngagement nel progetto.Install the MicrosoftAzure.MobileEngagement Nuget package in your project. Se l'app è destinata a entrambe le piattaforme Windows e Windows Phone, è necessario eseguire questa operazione per entrambi i progetti.If you are targeting both Windows and Windows Phone platforms, you need to do this for both projects. Per Windows 8.x e Windows Phone 8.1, lo stesso pacchetto NuGet inserisce i file binari corretti specifici della piattaforma in ogni progetto.For Windows 8.x and Windows Phone 8.1, the same Nuget package places the correct platform-specific binaries in each project.
  2. Aprire Package.appxmanifest e assicurarsi che venga aggiunta la funzionalità seguente:Open Package.appxmanifest and make sure that the following capability is added there:

     Internet (Client)
    

  3. Copiare la stringa di connessione copiata in precedenza per l'app Mobile Engagement e incollarla nel file Resources\EngagementConfiguration.xml, tra i tag <connectionString> e </connectionString>:Now copy the connection string that you copied earlier for your Mobile Engagement App and paste it in the Resources\EngagementConfiguration.xml file, between the <connectionString> and </connectionString> tags:

    Suggerimento

    Se l'app è destinata a entrambe le piattaforme Windows e Windows Phone, è comunque preferibile creare due applicazioni Mobile Engagement, una per ogni piattaforma supportata.If your App targets both Windows and Windows Phone platforms, you should still create two Mobile Engagement Applications - one for each supported platform. Avere due app garantisce di poter definire la segmentazione corretta dei destinatari e di poter inviare notifiche opportunamente mirate per ogni piattaforma.Having two apps ensures that you can create correct segmentation of the audience and can send appropriately targeted notifications for each platform.

    Importante

    NuGet non copia automaticamente le risorse SDK nell'applicazione UWP di Windows 10.NuGet does not automatically copy the SDK resources in your Windows 10 UWP application. È necessario copiare le risorse manualmente seguendo i passaggi (Leggimi.txt) visualizzati durante l'installazione del pacchetto Nuget.You have to do it manually following the steps which show up (readme.txt) when the Nuget package is installed.

  4. Nel file App.xaml.cs:In the App.xaml.cs file:

    a.a. Aggiungere l'istruzione using:Add the using statement:

         using Microsoft.Azure.Engagement;
    

    b.b. Aggiungere un metodo che inizializza la soluzione di engagement:Add a method that initializes the Engagement:

        private void InitEngagement(IActivatedEventArgs e)
        {
          EngagementAgent.Instance.Init(e);
    
          //... rest of the code
        }
    

    c.c. Inizializzare l'SDK nel metodo OnLaunched :Initialize the SDK in the OnLaunched method:

         protected override void OnLaunched(LaunchActivatedEventArgs e)
         {
           InitEngagement(e);
    
           //... rest of the code
         }
    

    c.c. Inserire il codice seguente nel metodo OnActivated e aggiungere il metodo, se non è già presente:Insert the following in the OnActivated method and add the method if it is not already present:

         protected override void OnActivated(IActivatedEventArgs e)
         {
           InitEngagement(e);
    
           //... rest of the code
         }
    

Abilitare il monitoraggio in tempo realeEnable real-time monitoring

Per iniziare a inviare dati e assicurarsi che gli utenti siano attivi, è necessario inviare almeno una schermata (Activity) al back-end di Mobile Engagement.To start sending data and ensuring that the users are active, you must send at least one screen (Activity) to the Mobile Engagement backend.

  1. Nel file MainPage.xaml.cs aggiungere l'istruzione using seguente:In the MainPage.xaml.cs, add the following using statement:

    using Microsoft.Azure.Engagement.Overlay;using Microsoft.Azure.Engagement.Overlay;

  2. Modificare la classe base di MainPage da Page a EngagementPageOverlay:Change the base class of MainPage from Page to EngagementPageOverlay:

     class MainPage : EngagementPageOverlay
    
  3. Nel file MainPage.xaml:In the MainPage.xaml file:

    a.a. Aggiungere le dichiarazioni di spazi dei nomi:Add to your namespaces declarations:

     xmlns:engagement="using:Microsoft.Azure.Engagement.Overlay"
    

    b.b. Sostituire Page nel nome del tag XML con engagement:EngagementPageOverlayReplace the Page in the XML tag name with engagement:EngagementPageOverlay

Importante

Se la pagina esegue l'override del metodo OnNavigatedTo, accertarsi di chiamare base.OnNavigatedTo(e).If your page overrides the OnNavigatedTo method, be sure to call base.OnNavigatedTo(e). In caso contrario, l'attività non viene segnalata. EngagementPage chiama StartActivity nel metodo OnNavigatedTo.Otherwise, the activity is not reported EngagementPage calls StartActivity inside its OnNavigatedTo method). Questo aspetto è particolarmente importante in un progetto Windows Phone in cui il modello predefinito ha un metodo OnNavigatedTo.This is especially important in a Windows Phone project where the default template has an OnNavigatedTo method.

Per le app universali di Windows 10, usare il metodo consigliato nella sezione "Metodo consigliato: eseguire l'overload delle classi Pages" dell'articolo Segnalazione avanzata con Engagement SDK per le app di Windows universali anziché quello descritto in precedenza.For Windows 10 Universal apps, use the method recommended in the "Recommended method: overload your Page classes" section of Advanced Reporting with the Windows Universal Apps Engagement SDK, rather than the one mentioned above.

Connettere l'app con monitoraggio in tempo realeConnect app with real-time monitoring

Questa sezione descrive come connettere l'app al back-end di Mobile Engagement usando la funzionalità di monitoraggio in tempo reale di Mobile Engagement.This section shows you how to connect your app to the Mobile Engagement backend by using the Mobile Engagement's real-time monitoring feature.

  1. Nell'account Azure Mobile Engagement, accertarsi di selezionare l'app che si desidera monitorare e gestire nel portale di Mobile Engagement.In your Azure Mobile Engagement account, make sure you select the app you wish to monitor and manage in the Mobile Engagement portal. Accedere al portale di Mobile Engagement facendo clic sul pulsante Engagement nella parte inferiore.Navigate to your Mobile Engagement portal by clicking the Engage button at the bottom.

  2. Viene visualizzato il portale Mobile Engagement.You will land in the Mobile Engagement portal. Se non è selezionata la scheda Monitoraggio, fare clic su Monitoraggio.If the Monitor tab is not selected, click on the Monitor.
  3. Verranno visualizzati, in tempo reale, tutti i dispositivi in cui l'app verrà avviata.The monitor is ready to show you any device in real time, which will start your app.
  4. Avviare l'app.Start your app now. Se l'integrazione è corretta si noterà una sessione di monitoraggio, che significa che l'app ora è collegata al back-end di Mobile Engagement e sta inviando dati ad esso.You should see one session in the monitor if your integration is correct which means that your app is now connected to the Mobile Engagement backend and is sending data to it.

Abilitare le notifiche push e la messaggistica in-appEnable push notifications and in-app messaging

Mobile Engagement consente di interagire con gli utenti e coinvolgerli tramite notifiche push e messaggistica in-app nel contesto di campagne.Mobile Engagement allows you to interact and reach your users with push notifications and in-app messaging in the context of campaigns. Questo modulo è denominato REACH nel portale di Mobile Engagement.This module is called REACH in the Mobile Engagement portal. Le sezioni seguenti consentono di configurare l'app per la ricezione.The following sections set up your app to receive them.

Abilitare l'app alla ricezione di notifiche push WNSEnable your app to receive WNS Push Notifications

  1. Nel file Package.appxmanifest scegliere la scheda Applicazione e impostare Popup supportati su in NotificheIn the Package.appxmanifest file, in the Application tab, under Notifications, set Toast capable: to Yes

Inizializzare REACH SDKInitialize the REACH SDK

In App.xaml.cs chiamare EngagementReach.Instance.Init(e); nella funzione InitEngagement subito dopo l'inizializzazione dell'agente:In App.xaml.cs, call EngagementReach.Instance.Init(e); in the InitEngagement function right after the agent initialization:

    private void InitEngagement(IActivatedEventArgs e)
    {
       EngagementAgent.Instance.Init(e);
       EngagementReach.Instance.Init(e);
    }

Ora è possibile inviare un avviso popup.You're ready to send a toast. Viene quindi verificato che l'integrazione di base sia stata eseguita correttamente.Next we verify that you have correctly carried out this basic integration.

Concedere l'accesso a Mobile Engagement per inviare notificheGrant access to Mobile Engagement to send notifications

  1. Aprire Dev Center per Windows Store nel Web browser, accedere e creare un account, se necessario.Open [Windows Store Dev Center] in your web browser, login, and create an account if necessary.
  2. Fare clic su Dashboard nell'angolo superiore destro, quindi scegliere Crea una nuova app dal menu nel pannello sinistro.Click Dashboard at the top right corner and then click Create a new app from the left panel menu.

  3. Creare l'app riservandone il nome.Create your app by reserving its name.

  4. Dopo la creazione dell'app, passare a Servizi -> Notifiche push dal menu a sinistra.Once the app has been created, navigate to Services -> Push notifications from the left menu.

  5. Nella sezione Notifiche push fare clic sul collegamento del sito dei servizi Live .In the Push notifications section, click the Live Services site link.

  6. Viene visualizzata la sezione relativa alle credenziali push.You navigate to the Push credentials section. Assicurarsi di trovarsi nella sezione Impostazioni app e quindi copiare i valori di SID pacchetto e Segreto client.Make sure you are in the App Settings section and then copy your Package SID and Client secret

  7. Passare a Impostazioni del portale Mobile Engagement e fare clic sulla sezione Push nativo a sinistra.Navigate to the Settings of your Mobile Engagement portal, and click the Native Push section on the left. Fare quindi clic sul pulsante Modifica per immettere l'ID di sicurezza (SID) del pacchetto e la Chiave privata, come illustrato:Then, click the Edit button to enter your Package security identifier (SID) and your Secret Key as shown:

  8. Assicurarsi infine di avere associato l'app di Visual Studio all'app creata nell'App Store.Finally make sure that you have associated your Visual Studio app with this created app in the App store. Fare clic su Associa applicazione a Store in Visual Studio.Click Associate App with Store in Visual Studio.

Inviare una notifica all'appSend a notification to your app

A questo punto si crea una campagna di notifica push semplice che invia una notifica push all'app.We will now create a simple push notification campaign that sends a push notification to our app.

  1. Passare alla scheda REACH nel portale di Mobile Engagement.Navigate to the REACH tab in your Mobile Engagement portal.
  2. Fare clic su Nuovo annuncio per creare una campagna di notifica push.Click New announcement to create your push notification campaign.

  3. Impostare il primo campo della campagna seguendo questa procedura:Set up the first field of your campaign through the following steps:

    a.a. Fornire un Nome per la campagna.Provide a Name for your campaign.

    b.b. Selezionare l' Ora di recapito su Qualsiasi oraSelect Delivery time as Any time.

    d.d. Nel testo della notifica digitare il titolo che apparirà in grassetto nel push.In the notification text - type the Title which will be in bold in the push.

    e.e. Digitare quindi il messaggioThen type your Message

  4. Scorrere verso il basso e nella sezione Contenuto selezionare Notification only (Solo notifica).Scroll down, and in the Content section, select Notification only.

  5. L'impostazione della campagna più semplice possibile è stata completata.You're done setting the most basic campaign possible. Ora scorrere nuovamente verso il basso e fare clic sul pulsante Crea per salvare la campagna.Now scroll down again and click the Create button to save your campaign.
  6. Come ultimo passaggio, fare clic su Attiva per attivare la campagna e inviare le notifiche push.Last step: Click Activate to activate your campaign and to send push notifications.

Se l'app è in esecuzione, viene visualizzata una notifica in-app.If the app is running, you see an in-app notification. In caso contrario, se l'app è chiusa, viene visualizzata una notifica di tipo avviso popup.otherwise if the app is closed, you see a toast notification. Se viene visualizzata una notifica in-app, ma non una notifica di tipo avviso popup e si esegue l'app in modalità debug in Visual Studio, provare a selezionare Eventi ciclo di vita -> Sospendi sulla barra degli strumenti per assicurarsi che l'app venga sospesa.If you see an in-app notification but not a toast notification, and you are running the app in debug mode in Visual Studio, then try Lifecycle events -> Suspend in the toolbar to ensure that the app is suspended. Se è stato fatto clic sul pulsante Home durante il debug dell'applicazione in Visual Studio, non sempre viene sospesa e, anche se la notifica viene visualizzata come in-app, non compare come notifica di tipo avviso popup.If you clicked the Home button while debugging the application in Visual Studio, then it doesn't always get suspended and while you see the notification as in-app, it doesn't show up as a toast notification.