Introduzione ad Azure Mobile Engagement per app per Windows Phone SilverlightGet started with Azure Mobile Engagement for Windows Phone Silverlight apps

Questo argomento descrive come usare Azure Mobile Engagement per ottenere informazioni sull'uso dell'app e sull'invio di notifiche push a utenti segmentati di un'applicazione Silverlight per Windows Phone.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 Phone Silverlight application. Questa esercitazione illustra uno scenario di trasmissione semplice tramite Mobile Engagement.This tutorial demonstrates the simple broadcast scenario using Mobile Engagement. Si creerà un'app per Windows Phone Silverlight vuota che raccoglie dati di base e riceve notifiche push tramite il Servizio notifica push Microsoft (MPNS).In it, you create a blank Windows Phone Silverlight app that collects basic data and receives push notifications using Microsoft Push Notification Service (MPNS).

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.

Nota

I progetti Windows Phone 8.1 e versioni precedenti non sono supportati in Visual Studio 2017.Windows Phone 8.1 and prior version projects are not supported in Visual Studio 2017. Per altre informazioni, vedere Selezione della piattaforma e compatibilità di Visual Studio 2017.For more information, see Visual Studio 2017 Platform Targeting and Compatibility.

Nota

Se si usa Windows Phone 8.1 (non Silverlight) come piattaforma di destinazione, fare riferimento all' esercitazione per le app di Windows universali.If you are targeting Windows Phone 8.1 (non-Silverlight), refer to the Windows Universal tutorial.

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 per Windows PhoneSetup Mobile Engagement for your Windows Phone 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.In the New Mobile Engagement App Collection blade that appears, you will be creating an App Collection. 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 relativa all'integrazione completa è disponibile nella Integrazione di Mobile Engagement SDK per Windows PhoneThe complete integration documentation can be found in the Mobile Engagement Windows Phone SDK integration

Si creerà un'app di base con Visual Studio per illustrare l'integrazione.We will create a basic app with Visual Studio to demonstrate the integration.

Creare un nuovo progetto Windows Phone SilverlightCreate a new Windows Phone Silverlight 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. Nella finestra popup selezionare Windows 8 -> Windows Phone -> Applicazione vuota (Silverlight per Windows Phone).In the pop-up, select Windows 8 -> Windows Phone -> Blank App (Windows Phone Silverlight). Inserire Nome e Nome soluzione dell'app, quindi fare clic su OK.Fill in the app Name and Solution name, and then click OK.

  3. È possibile scegliere la versione Windows Phone 8.0 o Windows Phone 8.1 come piattaforma di destinazione.You can choose to target either Windows Phone 8.0 or Windows Phone 8.1.

A questo punto è stata creata una nuova app per Windows Phone Silverlight in cui si integrerà Azure Mobile Engagement SDK.You have now created a new Windows Phone Silverlight app into which we will integrate the Azure Mobile Engagement SDK.

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

  1. Installare il pacchetto nuget MicrosoftAzure.MobileEngagement nel progetto.Install the MicrosoftAzure.MobileEngagement nuget package in your project.
  2. Aprire WMAppManifest.xml nella cartella Proprietà e assicurarsi che le funzionalità seguenti siano dichiarate (in caso contrario, aggiungerle) nel tag <Capabilities />:Open WMAppManifest.xml (under the Properties folder) and make sure the following are declared (add them if they are not) in the <Capabilities /> tag:

     <Capability Name="ID_CAP_NETWORKING" />
     <Capability Name="ID_CAP_IDENTITY_DEVICE" />
    

  3. Incollare 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 paste 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:

  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. Inizializzare l'SDK nel metodo Application_Launching:Initialize the SDK in the Application_Launching method:

         private void Application_Launching(object sender, LaunchingEventArgs e)
         {
           EngagementAgent.Instance.Init();
         }
    

    c.c. Inserire quanto segue in Application_Activated:Insert the following in the Application_Activated:

         private void Application_Activated(object sender, ActivatedEventArgs e)
         {
            EngagementAgent.Instance.OnActivated(e);
         }
    

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.In order 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 MainPage.xaml.cs, aggiungere l’istruzione using:In the MainPage.xaml.cs, add the using statement:

     using Microsoft.Azure.Engagement;
    
  2. Sostituire la classe di base di MainPage, che si trova prima di PhoneApplicationPage, con EngagementPage.Replace the base class of MainPage, which is before PhoneApplicationPage, with EngagementPage.

     class MainPage : EngagementPage 
    
  3. Nel file MainPage.xml:In your MainPage.xml file:

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

         xmlns:engagement="clr-namespace:Microsoft.Azure.Engagement;assembly=Microsoft.Azure.Engagement.EngagementAgent.WP"
    

    b.b. Sostituire phone:PhoneApplicationPage nel nome del tag XML con engagement:EngagementPageReplace phone:PhoneApplicationPage in the XML tag name with engagement:EngagementPage.

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 MPNSEnable your app to receive MPNS Push Notifications

Aggiungere nuove funzionalità al file WMAppManifest.xml :Add new Capabilities to your WMAppManifest.xml file:

    ID_CAP_PUSH_NOTIFICATION
    ID_CAP_WEBBROWSERCOMPONENT

Inizializzare REACH SDKInitialize the REACH SDK

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

     private void Application_Launching(object sender, LaunchingEventArgs e)
     {
        EngagementAgent.Instance.Init();
        EngagementReach.Instance.Init();
     }
    
  2. In App.xaml.cs chiamare EngagementReach.Instance.OnActivated(e); nella funzione Application_Activated subito dopo l'inizializzazione dell'agente:In App.xaml.cs, call EngagementReach.Instance.OnActivated(e); in the Application_Activated function, right after the agent initialization:

     private void Application_Activated(object sender, ActivatedEventArgs e)
     {
        EngagementAgent.Instance.OnActivated(e);
        EngagementReach.Instance.OnActivated(e);
     }
    

Le impostazioni sono state completate.You're all set. Ora è necessario verificare di avere eseguito correttamente l'integrazione di base.Now we will verify that you have correctly cried out this basic integration.

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.

Si dovrebbe ora vedere una notifica sul dispositivo che verrà visualizzata come una notifica all'interno dell'app se l'app è aperta in caso contrario come una notifica popup come quella seguente:You should now see a notification on your device which will show up as an in-app notification if the app is open otherwise as a toast notification like the following: