Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Guest Post – Tutorial: Windows SDK for Google Analytics

Questo post è stato scritto da Igor Damiani, Solution Developer Expert presso Brain-Sys, appartenente alla community Visual Studio Tips & Tricks.

Google non ha bisogno di presentazioni. Tutti conoscono ed utilizzano il suo motore di ricerca, ed in tanti utilizzano ad esempio GMail come servizio di posta. Chi gestisce un blog o un qualsiasi sito web probabilmente conoscerà anche Google Analytics, ovvero quella piattaforma online che ci permette di effettuare il monitoraggio in tempo reale di siti web oppure di applicazioni mobile.

Recentemente, Microsoft ha rilasciato su GitHub il Windows SDK for Google Analytics che permette alle Universal Windows Application di inviare dati di telemetria proprio verso questa piattaforma di Google, così da rendere più semplice il monitoring delle app rilasciate in produzione. In altre parole, significa che possiamo tracciare informazioni come: le pagine che l’utente ha utilizzato nella nostra app UWP, quali azioni ha compiuto su di esse, per quanto tempo è rimasto su una certa pagina, etc.

Da dove si comincia?
Innanzitutto, è necessario registrare la vostra app UWP per il suo tracking online. Per fare questo, è sufficiente seguire questi semplici passaggi:

  • Aprire il sito http://www.google.com/analytics, accedendo con il proprio account Google
  • Aprire il pannello Amministratore (Admin), come mostrato qui sotto:

  • Creare una nuova Proprietà (Property) agendo sul pannello centrale della pagina:

  • Assicurarsi di selezionare la tipologia App mobili (Mobile app)
  • Assicurarsi di selezionare come metodo di monitoraggio la voce “Google Analytics Services SDK
  • Verrà richiesto un nome di applicazione, la categoria a cui appartiene la nostra app ed il fuso orario di riferimento

Fatto questo, otterremo l’ID di monitoraggio (nel formato UA-NNNNNN-N) da utilizzare nel codice C# della nostra app.

Introduciamo il Google Analytics nella nostra app
E’ innanzitutto importante ricordare una cosa importante: questo SDK è disponibile su NuGet in due varianti: un package dedicato ai linguaggi managed (C#) ed un package dedicato al mondo dello sviluppo nativo. Dipendentemente dal linguaggio utilizzato, dovremo scaricare l’uno o l’altro.

  • SDK per C#, chiamato UWP.SDKforGoogleAnalytics.Managed
  • SDK per C++ e Javascript, chiamato UWP.SDKforGoogleAnalytics.Native

Supponiamo di sviluppare una Universal Windows App con C#. Utilizzeremo NuGet per scaricare il package dedicato al mondo managed.

A questo punto possiamo istanziare la classe GoogleAnalytics.Tracker, in questo modo:

Tracker tracker = AnalyticsManager.Current.
    CreateTracker("UA-NNNNNNN-N");

Il metodo di factory CreateTracker accetta in input l’ID di monitoraggio che va prelevato dal sito di Google Analytics. Fatto questo, siamo pronti per inviare le nostre prime informazioni di telemetria.

Custom event
Un primo tipo di informazione che possiamo inviare su Google Analytics è un evento personalizzato. Parliamo di eventi come i seguenti:

  • l’utente preme un bottone per eseguire una certa azione
  • l’utente chiede il refresh dei dati visualizzati su una pagina
  • l’utente lancia la stampa di un report
  • in generale, qualsiasi azione che consideriamo importante e che desideriamo tracciare

Il codice C# necessario è il seguente:

int value = 0;

var hit = HitBuilder.CreateCustomEvent
(“category”, “action”, “label”, value);
tracker.Send(hit.Build());

Innanzitutto dobbiamo chiamare CreateCustomEvent sulla classe HitBuilder, che prevede quattro parametri: una categoria, il nome dell’action, una label ed un valore di tipo long. L’ultimo parametro è opzionale; in tal caso verrà inviato il valore 0.

Il metodo Send del tracker invia a Google Analytics il custom event appena creato.

Supponiamo di aver sviluppato una calcolatrice. Dati due numeri interi, l’utente può eseguire le 4 operazioni di base: somma, sottrazione, moltiplicazione e divisione. Possiamo pensare di avere 4 bottoni distinti sulla nostra interfaccia utente, ciascuno dei quali esegue l’operazione corrispondente. Possiamo utilizzare Google Analytics per capire quanto vengono utilizzate queste funzionalità.

private void SumButton_Click(object sender, RoutedEventArgs e)
{
int a = Int32.Parse(this.numberA.Text);
int b = Int32.Parse(this.numberB.Text);
int result = a + b;

this.SumResult.Text = result.ToString();

var hit = HitBuilder.CreateCustomEvent(“Math”,

“Sum”, “Sum”, result);
tracker.Send(hit.Build());

}

Il codice qui sopra, molto semplificato rispetto ad un vero progetto, riporta l’event handler del bottone che esegue l’operazione somma. Dopo aver calcolato e mostrato il risultato all’utente, viene inviato l’evento custom a Google Analytics.

Accedendo al portale, ed entrando nella sezione Rapporti in Tempo Reale –> Eventi, possiamo osservare quanto segue:

L’operazione Somma è stata invocata 43 volte, la sottrazione 22, la moltiplicazione soltanto 6.

Screen View
Un’altra caratteristica del Google Analytics SDK è la possibilità di effettuare la telemetria delle pagine utilizzate dall’utente nella nostra applicazione UWP. Ad esempio:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    var hit = HitBuilder.CreateScreenView(this.GetType().Name);
    tracker.Send(hit.Build());
}

Questa volta abbiamo invocato il metodo CreateScreenView di HitBuilder, al quale dobbiamo fornire in input il nome della view. Nel nostro caso, per rendere il codice più riutilizzabile, utilizziamo Reflection di .NET per ottenere in automatico il nome della pagina. Quello che possiamo osservare in tempo reale sul portale di Google Analytics è quali pagine sono quelle più utilizzate dagli utenti. Potete perciò capire se ad esempio una pagina di tutorial, che magari avete tanto preparato con tanta cura, viene utilizzata poco, perchè magari è troppo complicata da raggiungere.

Accedendo al portale di Google Analytics, ed entrando nella sezione Rapporti in Tempo Reale –> Schermate, possiamo osservare quanto segue:

Nella schermata qui sopra, che mostra i dati raccolti negli ultimi 30 minuti, vengono evidenziate le pagine, da quella più utilizzata a quella meno. Se ad esempio la vostra app UWP viene criticata dagli utenti perchè troppo complessa, preparate una pagina di tutorial e questa pagina viene vista ed utilizzata poco, è necessario correre ai ripari. Questa è una rapida analisi che si può fare osservando i dati raccolti su Google Analytics.

Altre informazioni di telemetria
L’SDK permette l’invio di altre informazioni, come:

  • Exception, per monitorare eccezioni .NET
  • Social Interaction, per monitorare le interazioni che l’utente esegue verso i social più diffusi
  • Timing, per monitorare come l’utente passa il tempo sulle varie pagine

La tecnica per inviare queste informazioni è la stessa che è stata descritta precedentemente.

Conclusione

Google Analytics è uno strumento validissimo, capace di visualizzare le informazioni di telemetrie raccolte in real-time tramite dashboard altamente personalizzabili, e che mostra quali azioni l’utente compie all’interno delle nostre applicazioni UWP. Abbiamo visto nel dettaglio come tracciare custom event e screen view, ed abbiamo accennato alle altre tipologie disponibili nel Windows SDK for Google Analytics.

Share the post

Guest Post – Tutorial: Windows SDK for Google Analytics

×

Subscribe to Msdn Blogs | Get The Latest Information, Insights, Announcements, And News From Microsoft Experts And Developers In The Msdn Blogs.

Get updates delivered right to your inbox!

Thank you for your subscription

×