Uso dell'analisi con Application Insights

Quali sono le funzionalità dell'app Web o dell'app per dispositivi mobili più comuni? Gli utenti raggiungono i propri obiettivi con l'app? Escono in particolari punti e riaccedono in un secondo momento? Application Insights consente di ottenere informazioni dettagliate efficaci su come gli utenti usano l'app. Ogni volta che si aggiorna l'app, è possibile valutarne il funzionamento per gli utenti. Con queste informazioni è possibile prendere decisioni basate sui dati sui cicli di sviluppo successivi.

Inviare dati di telemetria dall'app

L'esperienza migliore viene ottenuta installando Application Insights sia nel codice del server app che nelle pagine Web. I componenti client e server dell'app inviano dati di telemetria al portale di Azure per l'analisi.

  1. Codice server: installare il modulo appropriato per l'app ASP.NET, Azure, Java, Node.js o per altre app.

  2. Codice pagina Web: Usare JavaScript SDK per raccogliere dati dalle pagine Web. Vedere Introduzione a JavaScript SDK.

    Nota

    Il 31 marzo 2025, il supporto per l'inserimento delle chiavi di strumentazione terminerà. L'inserimento delle chiavi di strumentazione continuerà a funzionare, ma non fornirà più aggiornamenti o supporto per la funzionalità. Transizione alle stringhe di connessione per sfruttare le nuove funzionalità.

    Per altre informazioni sulle configurazioni più avanzate per il monitoraggio di siti Web, consultare l'articolo di riferimento su JavaScript SDK.

  3. Codice dell'app per dispositivi mobili: Usare App Center SDK per raccogliere eventi dall'app. Inviare quindi copie di questi eventi ad Application Insights per l'analisi seguendo questa guida.

  4. Ottenere i dati di telemetria: Eseguire il progetto in modalità di debug per alcuni minuti. Cercare quindi i risultati nel riquadro Panoramica in Application Insights.

    Pubblicare l'app per monitorare le prestazioni dell'app ed esaminare le operazioni eseguite dagli utenti con l'app.

Esplorare le statistiche e i dati demografici di uso

Scopri quando gli utenti usano la tua app e quali pagine sono più interessate. È anche possibile scoprire dove si trovano gli utenti e quali browser e sistemi operativi usano.

I report Utenti e sessioni filtrano i dati in base a pagine o eventi personalizzati. I report segmentano i dati in base alle proprietà, ad esempio posizione, ambiente e pagina. È anche possibile aggiungere filtri personalizzati.

Screenshot che mostra la scheda Utenti con un grafico a barre.

Informazioni approfondite sui modelli di segnalazione corretti nel set di dati.

  • Il report sugli utenti conta il numero di utenti univoci che accedono alle pagine nei periodi di tempo scelti. Per le app Web gli utenti vengono conteggiati usando i cookie. Se un utente accede al sito con browser o computer client diversi o cancella i cookie, viene conteggiato più volte.
  • Il report Sessioni tabula il numero di sessioni utente che accedono al sito. Una sessione rappresenta un periodo di attività avviato da un utente e termina con un periodo di inattività superiore a mezz'ora.

Per altre informazioni sugli strumenti Utenti, sessioni ed eventi, vedere Utenti, sessioni ed analisi degli eventi in Application Insights.

Conservazione: quanti utenti tornano?

La conservazione consente di comprendere la frequenza con cui gli utenti tornano a usare l'app, in base alle coorti di utenti che hanno eseguito un'azione aziendale in un determinato intervallo di tempo. È possibile:

  • Comprendere quali funzionalità specifiche fanno sì che gli utenti tornino più di altri.
  • Formare ipotesi basate su dati utente reali.
  • Determinare se la conservazione è un problema nel prodotto.

Screenshot che mostra la cartella di lavoro Conservazione, che mostra le informazioni sulla frequenza con cui gli utenti tornano a usare l'app.

È possibile usare i controlli di conservazione in alto per definire eventi e intervalli di tempo specifici per calcolare la conservazione. Il grafico nella parte centrale offre una rappresentazione visiva della percentuale della conservazione generale in base all'intervallo di tempo specificato. Il grafico nella parte inferiore rappresenta la conservazione individuale in un periodo di tempo specifico. Questo livello di dettagli consente di capire le operazioni eseguite dagli utenti e le possibili motivazioni per cui un utente sceglie di ritornare con una granularità più dettagliata.

Per altre informazioni sulla cartella di lavoro Conservazione, vedere Analisi della conservazione degli utenti per le applicazioni Web con Application Insights.

Eventi aziendali personalizzati

Per comprendere le interazioni utente nell'app, inserire righe di codice per registrare eventi personalizzati. Questi eventi tengono traccia di varie azioni utente, ad esempio selezioni di pulsanti o eventi aziendali importanti, ad esempio acquisti o vittorie di gioco.

È anche possibile usare il plug-in Click Analytics Autocollection per raccogliere eventi personalizzati.

In alcuni casi, le visualizzazioni pagina possono rappresentare eventi utili, ma non è vero in generale. Un utente può aprire la pagina di un prodotto senza acquistarlo.

Con eventi aziendali specifici, è possibile rappresentare in un grafico lo stato di avanzamento degli utenti all'interno del sito. È possibile scoprire le loro preferenze per diverse opzioni e dove si ritirano o hanno difficoltà. Con queste informazioni si possano prendere decisioni consapevoli sulle priorità nel backlog di sviluppo.

Gli eventi possono essere registrati dal lato client dell'app:

      appInsights.trackEvent({name: "incrementCount"});

Oppure gli eventi possono essere registrati dal lato server:

    var tc = new Microsoft.ApplicationInsights.TelemetryClient();
    tc.TrackEvent("CreatedAccount", new Dictionary<string,string> {"AccountType":account.Type}, null);
    ...
    tc.TrackEvent("AddedItemToCart", new Dictionary<string,string> {"Item":item.Name}, null);
    ...
    tc.TrackEvent("CompletedPurchase");

È possibile associare i valori delle proprietà a questi eventi in modo che sia possibile filtrare o dividere gli eventi quando vengono controllati nel portale. A ogni evento è associato anche un set standard di proprietà, ad esempio l'ID utente anonimo, che consente di tracciare la sequenza di attività di un singolo utente.

Altre informazioni sugli eventi personalizzati e le proprietà.

Analisi approfondita degli eventi

Negli strumenti Utenti, Sessioni ed Eventi, è possibile eseguire un'analisi approfondita degli eventi personalizzati per utente, nome dell'evento e proprietà.

Screenshot che mostra la scheda Eventi filtrata in base ad AnalyticsItemsOperation e suddivisa per AppID.

Ogni volta che si usa un'esperienza di utilizzo, selezionare l'icona Apri l'ultima query di esecuzione per tornare alla query sottostante.

Screenshot del riquadro Sessione di Application Insights nel portale di Azure. L'icona Apri l'ultima query di esecuzione è evidenziata.

È quindi possibile modificare la query sottostante per ottenere il tipo di informazioni desiderate.

Ecco un esempio di query sottostante sulle visualizzazioni pagina. Andare avanti e incollarlo direttamente nell'editor di query per testarlo.

// average pageView duration by name
let timeGrain=5m;
let dataset=pageViews
// additional filters can be applied here
| where timestamp > ago(1d)
| where client_Type == "Browser" ;
// calculate average pageView duration for all pageViews
dataset
| summarize avg(duration) by bin(timestamp, timeGrain)
| extend pageView='Overall'
// render result in a chart
| render timechart

Progettare i dati di telemetria con l'app

Quando progetti ogni funzionalità della tua app, valuta come misurare il successo degli utenti. Decidere quali eventi aziendali è necessario registrare e codificare il monitoraggio delle chiamate per questi eventi nell'app sin dall'inizio.

A | Test B

Se non si è certi della variante di funzionalità più efficace, rilasciare entrambi e consentire a utenti diversi di accedere a ogni variante. Misurare l'esito positivo di ogni variante e quindi passare a una versione unificata.

In questa tecnica si associano valori di proprietà univoci a tutti i dati di telemetria inviati da ogni versione dell'app. A tale scopo, è possibile definire le proprietà nel TelemetryContext attivo. Queste proprietà predefinite vengono incluse in ogni messaggio di telemetria inviato dall'applicazione. Include sia messaggi personalizzati che dati di telemetria standard.

Nel portale di Application Insights filtrare e dividere i dati sui valori delle proprietà in modo da poter confrontare le diverse versioni.

A tale scopo, configurare un inizializzatore di telemetria:

    // Telemetry initializer class
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        // In this example, to differentiate versions, we use the value specified in the AssemblyInfo.cs
        // for ASP.NET apps, or in your project file (.csproj) for the ASP.NET Core apps. Make sure that
        // you set a different assembly version when you deploy your application for A/B testing.
        static readonly string _version = 
            System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
            
        public void Initialize(ITelemetry item)
        {
            item.Context.Component.Version = _version;
        }
    }

Per ASP.NET Core applicazioni, aggiungere un nuovo inizializzatore di telemetria alla raccolta di servizi di inserimento delle dipendenze nella Program.cs classe .

using Microsoft.ApplicationInsights.Extensibility;

builder.Services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();

Passaggi successivi