Introduzione a Azure Mobile Engagement per app di Windows universali

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. Questa esercitazione illustra uno scenario di trasmissione semplice tramite 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).

Nota

Il servizio Azure Mobile Engagement verrà ritirato a marzo 2018 ed è attualmente disponibile solo per i clienti esistenti. Per altre informazioni, vedere Mobile Engagement.

Prerequisiti

Per completare questa esercitazione, è necessario disporre di:

Nota

Per completare l'esercitazione, è necessario disporre di un account Azure attivo. Se non si dispone di un account, è possibile creare un account di valutazione gratuita in pochi minuti. Per informazioni dettagliate, vedere la pagina relativa alla versione di valutazione gratuita di Azure.

Configurare Mobile Engagement per l'app universale di Windows

  1. Accedere al portale di Azure.
  2. Fare clic su Nuovo, quindi su Web e dispositivi mobili e infine su 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. Immettere le seguenti informazioni:

    • Nome: Nome of your raccolta di applicazioni
    • Piattaforme: selezionare le piattaforme di destinazione per l'app nel pannello Piattaforme che verrà aperto. Ad esempio, se è necessaria un'app sia per iOS che per Android, selezionare entrambe le piattaforme per creare due app in questa raccolta di app.

    • Sottoscrizione: selezionare la sottoscrizione di Azure.
    • Gruppo di risorse: selezionare il gruppo di risorse di Azure in cui inserire questa risorsa di Azure (Raccolta di app Mobile Engagement). È possibile scegliere di crearne uno nuovo.
    • Località: area in cui verranno archiviati i dati su questa raccolta di app e su questa app.
  4. Esplorare le raccolte di app Mobile Engagement facendo clic su Esplora e cercando 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.

  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.

  7. Fare clic sull'app creata per la piattaforma per cui si sta sviluppando.

  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.

Connettere l'app al back-end di Mobile Engagement

Questa esercitazione presenta una "integrazione di base", che è la configurazione minima necessaria per raccogliere i dati e inviare una notifica push. La documentazione sull'integrazione completa è reperibile nella integrazione di Mobile Engagement SDK per app di Windows universali.

Si crea un'app di base con Visual Studio per illustrare l'integrazione.

Creare un progetto di app universale di Windows

I passaggi seguenti presuppongono l'utilizzo di Visual Studio 2015 anche se i passaggi sono simili nelle versioni precedenti di Visual Studio.

  1. Avviare Visual Studio e selezionare Nuovo progetto nella schermata Home.
  2. Nel popup selezionare Windows -> Universal -> App vuota (Windows universale). Inserire Nome e Nome soluzione dell'app, quindi fare clic su OK.

A questo punto è stata creata un'app universale di Windows in cui si integra quindi Azure Mobile Engagement SDK.

Connettere l'app al back-end di Mobile Engagement

  1. Installare il pacchetto NuGet MicrosoftAzure.MobileEngagement nel progetto. Se l'app è destinata a entrambe le piattaforme Windows e Windows Phone, è necessario eseguire questa operazione per entrambi i progetti. Per Windows 8.x e Windows Phone 8.1, lo stesso pacchetto NuGet inserisce i file binari corretti specifici della piattaforma in ogni progetto.
  2. Aprire Package.appxmanifest e assicurarsi che venga aggiunta la funzionalità seguente:

     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>:

    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. Avere due app garantisce di poter definire la segmentazione corretta dei destinatari e di poter inviare notifiche opportunamente mirate per ogni piattaforma.

    Importante

    NuGet non copia automaticamente le risorse SDK nell'applicazione UWP di Windows 10. È necessario copiare le risorse manualmente seguendo i passaggi (Leggimi.txt) visualizzati durante l'installazione del pacchetto Nuget.

  4. Nel file App.xaml.cs:

    a. Aggiungere l'istruzione using:

         using Microsoft.Azure.Engagement;
    

    b. Aggiungere un metodo che inizializza la soluzione di engagement:

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

    c. Inizializzare l'SDK nel metodo OnLaunched :

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

    c. Inserire il codice seguente nel metodo OnActivated e aggiungere il metodo, se non è già presente:

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

Abilitare il monitoraggio in tempo reale

Per iniziare a inviare dati e assicurarsi che gli utenti siano attivi, è necessario inviare almeno una schermata (Activity) al back-end di Mobile Engagement.

  1. Nel file MainPage.xaml.cs aggiungere l'istruzione using seguente:

    using Microsoft.Azure.Engagement.Overlay;

  2. Modificare la classe base di MainPage da Page a EngagementPageOverlay:

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

    a. Aggiungere le dichiarazioni di spazi dei nomi:

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

    b. Sostituire Page nel nome del tag XML con engagement:EngagementPageOverlay

Importante

Se la pagina esegue l'override del metodo OnNavigatedTo, accertarsi di chiamare base.OnNavigatedTo(e). In caso contrario, l'attività non viene segnalata. EngagementPage chiama StartActivity nel metodo OnNavigatedTo. Questo aspetto è particolarmente importante in un progetto Windows Phone in cui il modello predefinito ha un metodo OnNavigatedTo.

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.

Connettere l'app con monitoraggio in tempo reale

Questa sezione descrive come connettere l'app al back-end di Mobile Engagement usando la funzionalità di monitoraggio in tempo reale di Mobile Engagement.

  1. Nell'account Azure Mobile Engagement, accertarsi di selezionare l'app che si desidera monitorare e gestire nel portale di Mobile Engagement. Accedere al portale di Mobile Engagement facendo clic sul pulsante Engagement nella parte inferiore.

  2. Viene visualizzato il portale Mobile Engagement. Se non è selezionata la scheda Monitoraggio, fare clic su Monitoraggio.
  3. Verranno visualizzati, in tempo reale, tutti i dispositivi in cui l'app verrà avviata.
  4. Avviare l'app. 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.

Abilitare le notifiche push e la messaggistica in-app

Mobile Engagement consente di interagire con gli utenti e coinvolgerli tramite notifiche push e messaggistica in-app nel contesto di campagne. Questo modulo è denominato REACH nel portale di Mobile Engagement. Le sezioni seguenti consentono di configurare l'app per la ricezione.

Abilitare l'app alla ricezione di notifiche push WNS

  1. Nel file Package.appxmanifest scegliere la scheda Applicazione e impostare Popup supportati su in Notifiche

Inizializzare REACH SDK

In App.xaml.cs chiamare EngagementReach.Instance.Init(e); nella funzione InitEngagement subito dopo l'inizializzazione dell'agente:

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

Ora è possibile inviare un avviso popup. Viene quindi verificato che l'integrazione di base sia stata eseguita correttamente.

Concedere l'accesso a Mobile Engagement per inviare notifiche

  1. Aprire Dev Center per Windows Store nel Web browser, accedere e creare un account, se necessario.
  2. Fare clic su Dashboard nell'angolo superiore destro, quindi scegliere Crea una nuova app dal menu nel pannello sinistro.

  3. Creare l'app riservandone il nome.

  4. Dopo la creazione dell'app, passare a Servizi -> Notifiche push dal menu a sinistra.

  5. Nella sezione Notifiche push fare clic sul collegamento del sito dei servizi Live .

  6. Viene visualizzata la sezione relativa alle credenziali push. Assicurarsi di trovarsi nella sezione Impostazioni app e quindi copiare i valori di SID pacchetto e Segreto client.

  7. Passare a Impostazioni del portale Mobile Engagement e fare clic sulla sezione Push nativo a sinistra. Fare quindi clic sul pulsante Modifica per immettere l'ID di sicurezza (SID) del pacchetto e la Chiave privata, come illustrato:

  8. Assicurarsi infine di avere associato l'app di Visual Studio all'app creata nell'App Store. Fare clic su Associa applicazione a Store in Visual Studio.

Inviare una notifica all'app

A questo punto si crea una campagna di notifica push semplice che invia una notifica push all'app.

  1. Passare alla scheda REACH nel portale di Mobile Engagement.
  2. Fare clic su Nuovo annuncio per creare una campagna di notifica push.

  3. Impostare il primo campo della campagna seguendo questa procedura:

    a. Fornire un Nome per la campagna.

    b. Selezionare l' Ora di recapito su Qualsiasi ora

    d. Nel testo della notifica digitare il titolo che apparirà in grassetto nel push.

    e. Digitare quindi il messaggio

  4. Scorrere verso il basso e nella sezione Contenuto selezionare Notification only (Solo notifica).

  5. L'impostazione della campagna più semplice possibile è stata completata. Ora scorrere nuovamente verso il basso e fare clic sul pulsante Crea per salvare la campagna.
  6. Come ultimo passaggio, fare clic su Attiva per attivare la campagna e inviare le notifiche push.

Se l'app è in esecuzione, viene visualizzata una notifica in-app. In caso contrario, se l'app è chiusa, viene visualizzata una notifica di tipo avviso popup. 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. 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.