Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1907, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Xamarin, Azure e il Visual Studio Mobile Center - Statistica e analisi crash

Con questo post inizio una mini-serie dedicata al Visual Studio Mobile Center e al suo utilizzo connesso ad applicazioni realizzate con Xamarin e Visual Studio. Con questo post iniziamo a vedere le funzionalità telemetriche di statistica e analisi dei crash, nei prossimi post vedremo come sfruttare il servizio di backend per le Table, per poi passare alla sincronizzazione offline dei dati e all'autenticazione/autorizzazione dell'utente.

Prerequisiti
Il Visual Studio Mobile Center è un servizio Cloud e usa Azure per esporre alcuni servizi. Ciò significa che è necessario avere una sottoscrizione Microsoft Azure, anche trial.

Il secondo prerequisito è avere installato Visual Studio 2015, anche Community, con i tool Xamarin.

Cos'è il Visual Studio Mobile Center
Il Visual Studio Mobile Center è un portale per l'accesso a servizi pensati espressamente per applicazioni Mobile, offerto da Microsoft tramite Cloud. Ad oggi si tratta di un servizio in preview e comunque ancora in crescita. Le app supportate ad oggi sono Android e iOS e, come ambienti, Xamarin, React Native e Objective-C/Swift. Come detto, il servizio è in preview e quindi è comprensibile che non tutte le piattaforme siano ancora supportate.

Cosa offre di bello? Innanzitutto una serie di servizi di backend in-Cloud per app, come telemetria per l'analisi dei crash e delle statistiche sull'uso delle app, ma anche backend per dati con tabelle per la memorizzazione di dati e strumenti per aggiungere alle app l'autenticazione degli utenti basata sui più diffusi provider. Precisiamo che tabelle e autenticazione sono basati su Azure Mobile App, quindi le stesse cose posso ottenerle anche nel portale di gestione di Azure, tuttavia il Visual Studio Mobile Center offre un approccio decisamente più semplice e immediato. Non di meno, il Mobile Center offre strumenti di build automation basata su repository Git.

L'obiettivo da raggiungere
Per dimostrare come sfruttare appieno le potenzialità del Mobile Center, ci proponiamo un obiettivo: creare un'app cross-platform con Xamarin.Forms che gestisca un elenco di libri semplificato. In questo post implementeremo le funzionalità di telemetria. Nel prossimo post quelle di backend su Azure. Poi, nell'ordine, la sincronizzazione offline dei dati e l'autenticazione degli utenti. Ciò premesso, in Visual Studio 2015 (o 2017 RC per i coraggiosi) create un nuovo progetto di tipo Blank Xaml App (Xamarin.Forms Portable), basato quindi su Portable Class Library. Tenete conto del fatto che il Mobile Center supporta, ad oggi, solo i client iOS e Android. A voi la scelta, quindi, di tenere nella solution i rimanenti progetti.

Accesso al Mobile Center
Per l'accesso al Mobile Center potrete autenticarvi sia tramite Microsoft Account che tramite account GitHub:



Una volta fatto l'accesso, troverete un pulsante chiamato Add new app, al cui click potrete specificare i dati della nuova applicazione. L'app di esempio si chiamerà Book Store App, basata su Android e Xamarin. Nota: prendo a base Android perché non tutti hanno un Mac per compilare l'app iOS, ma i passaggi sono identici ed eventualmente andranno duplicati. Ecco cosa fare:



Chiaramente, click su Add new app.

Configurazione della telemetria
Dopo la creazione della nuova app, il Mobile Center visualizzerà le istruzioni da seguire per abilitare la telemetria nella nostra app, sia per Xamarin Android che per Xamarin.Forms, tramite gli appositi SDK:



In sintesi bisogna:

  • a livello di intera solution, aggiungere i seguenti pacchetti NuGet: Microsoft.Azure.Mobile.Analytics, Microsoft.Azure.Mobile.Crashes e Microsoft.Azure.Mobile, ma quest'ultimo viene scaricato automaticamente quale dipendenza
  • in Xamarin.Forms, aggiungere la seguente riga all'interno del metodo OnStart del file App.xaml.cs:
       MobileCenter.Start(typeof(Analytics), typeof(Crashes));
  • nel progetto Droid e nel file MainActivity.cs, aggiungere la seguente riga prima della chiamata a LoadApplication:
       MobileCenter.Configure("YOUR-GUID");

Dove YOUR-GUID va sostituito col GUID visibile nel Mobile Center. Chiaramente vanno aggiunte le direttive using che puntano ai namespace omonimi dei pacchetti NuGet.
Questo è quanto: per abilitare la telemetria sono sufficienti queste due righe di codice. Ora provate ad eseguire l'app un po' di volte e provate a causare intenzionalmente delle eccezioni a runtime.

Analisi della telemetria
Con i pulsanti Analytics e Crashes, possiamo accedere alle informazioni raccolte tramite telemetria e visualizzare molte informazioni rilevanti. Per esempio, in figura si vede un insieme di informazioni di analisi sul numero di sessioni attive, i device utilizzati, la durata delle sessioni di utilizzo, il numero di installazioni per versione di app, ecc:



Una nota sui crash: Crashes è una classe dell'SDK e non serve solo ad abilitare la telemetria. Per esempio ha una proprietà HasCrashedInLastSession per sapere se l'ultima volta l'app si è chiusa per un crash, oppure espone eventi che si verificano a crash occorso e prima dell'invio dei dati, o ancora consente di richiedere il permesso all'utente di inviare i dati. Da tenere in debita considerazione.

Conclusioni
In questa prima parte abbiamo già potuto apprezzare il Visual Studio Mobile Center e le sue potenzialità telemetriche legate alla Cloud. Nel prossimo post vedremo come iniziare a lavorare con la parte di backend relativa ai dati.

Alessandro

Print | posted on venerdì 10 febbraio 2017 00:00 | Filed Under [ Visual Studio 2015 Xamarin Visual Studio 2017 ]

Powered by:
Powered By Subtext Powered By ASP.NET