Analytics nel mondo Mobile – Firebase focus

Federico Colantoni app mobile

Nel precedente articolo si è iniziato a parlare degli strumenti di analisi dati utilizzati nel mondo delle applicazioni mobile, parlando principalmente di Google Analytics e Fabric e lasciando aperta la strada verso un altro tool introdotto negli ultimi due anni da Google, Firebase. In questo post andremo ad approfondire proprio Firebase.

È stato sviluppato tenendo a mente l'aspetto mobile-oriented, in modo tale che potesse essere l'"alleato" migliore per le applicazioni mobile delle varie piattaforme esistenti. Comprende una varietà di utilities che consentono di tenere sotto controllo ogni aspetto di un'applicazione, raggruppate in tre specifiche macro aree:

  • Build better apps, di cui fanno parte Cloud Firestore, ML Kit, Cloud Functions, Authentication, Hosting, Cloud Storage e Realtime Database.
  • Improve app quality, in cui troviamo Crashlytics, Performance Monitoringe Test Lab.
  • Grow your business, che comprende In-App Messaging, Firebase Analytics, Predictions, A/B Testing, Cloud Messaging (FCM), Remote Config, Dynamic Linkse App Indexing.

L'integrazione di Firebase "from scratch" (da zero), come dicono gli anglofoni, all'interno di un'applicazione prevede diversi passaggi; vediamoli in dettaglio.

Prima di tutto, occorre autenticarsi con un account Google a questo link https://console.firebase.google.com/, atterrando in una pagina simile a questa; c'è l'elenco delle eventuali applicazioni già integrate con Firebase e la possibilità di aggiungere nuovi progetti.


Image
Home page della console di Firebase

Cliccando su "Aggiungi progetto" si apre una finestra nella quale viene richiesto il nome del progetto come campo obbligatorio; si può o meno decidere di voler utilizzare Google Analytics per il tracciamento dei dati (per il quale è richiesto il consenso per i termini di utilizzo). Cliccando su "Crea progetto" si avvia la procedura di creazione del progetto, arrivando alla pagina di home del progetto stesso, simile a questa


Image
Overview di un progetto Firebase

La fase successiva è quella di aggiungere un'applicazione al progetto. Vediamo brevemente i passaggi per aggiungere un'app Android - per la piattaforma iOS i passaggi sono simili.

Clicchiamo quindi sul bottone con il robottino di Android per avviare la procedura. La pagina che ci si troverà di fronte sarà come la seguente, nella quale si deve inserire un nome per il pacchetto Android (che solitamente consiste nell'applicationId presente nel file build.gradle del modulo dell'app) e altri dati facoltativi; cliccando su "Registra app" si proseguirà con lo wizard nel quale viene richiesto di scaricare un file di configurazione e di aggiungere (finalmente!) l'SDK di Firebase al progetto Android.


Image
Inserimento dati pacchetto app
Image
Download del file di configurazione
Image
Aggiunta SDK di Firebase al progetto Android

Tra tutti i componenti inclusi nella suite di Firebase, i più utilizzati sono senza dubbio Crashlytics e Google Analytics. Senza dubbio anche gli altri hanno la loro valenza e utilità d'uso - pensiamo, ad esempio, a Cloud Messaging o ad Authentication, i quali sono molto utili per notificare all'utente informazioni di diversa natura, il primo, e per utilizzare il social login, il secondo - ma per ora vedremo in dettaglio solo Crashlytics e Analytics, mentre daremo solo un accenno per gli altri.

Crashlytics


Quando Firebase è stato rilasciato, il suo nome era Crash Reporting.
Crash Reporting offriva una soluzione per tenere traccia, in maniera del tutto automatica, degli errori che possono presentarsi in un'app mobile, soprattutto dopo che è stata rilasciata la versione finale sui vari stores. Oltre ai log sui crashes, consentiva di inviare log customizzati, con i quali gli sviluppatori potevano avere un quadro più chiaro sul problema. Era una soluzione gratuita e facile da integrare nell'app e, tramite la console dedicata, permetteva di monitorare gli errori fatali e non, si poteva collegare con Google Analytics e Remote Config e forniva i dati necessari per trattare i crashes in modo da poterli risolvere.

Crashlytics è il suo degno successore, dopo l'acquisizione, da parte di Google, di Fabric e dei suoi strumenti, rendendo, di fatto, Crash Reporting obsoleto. Crashlytics mantiene tutte le funzionalità che aveva prima dell'acquisizione, ossia:

  • tracciamento in real-time dei crashes dell'app e degli errori non fatali
  • integrazione con Analytics
  • facilità d'uso e gratuità

Per integrare Crashlytics basta seguire la guida semplice e chiara presente nella documentazione del tool stesso. Sono presenti anche sezioni per migrare dal vecchio Crash Reporting o da Fabric Crashlytics, nel caso si avesse già uno dei due tool di crash reporting integrati nella propria app.

La dashboard di Crashlytics si presenta come nell'immagine seguente:


Image

Come si può vedere, è molto "minimal" e permette di avere rapidamente un quadro della situazione immediato, indicando la crash-free users - la percentuale di utenti che non hanno riscontrato arresti anomali dell'app - la tendenza con la quale si presentano i crash nell'app e la lista dei problemi più frequenti. È possibile filtrare i problemi in base a diverse strategie - per sistema operativo usato, piuttosto che per dispositivo usato o stato del problema - e cliccando su ognuno di essi si accede al suo dettaglio, come mostrato nella seguente immagine:


Image

Facendo parte della suite Firebase, è possibile integrare Crashlytics con gli altri strumenti presenti, come ad esempio Cloud Functions, permettendo di far scattare dei eventi ogni volta che si verifica un crash o un problema che abbia una natura specifica; questo accoppiamento è utile, ad esempio, per notificare il team di sviluppo attraverso differenti canali di comunicazione.

Google Analytics for Firebase


È la versione di Google Analytics pensata per il mondo mobile e offre tutte le funzionalità presenti in quest'ultimo. Se avete letto l'articolo precedente, relativamente a Google Analytics per il web, noterete molte analogie con la sua controparte in Firebase (se non l'avete fatto, trovate il link a inizio articolo, nel caso foste interessati); questo perché entrambi devono svolgere gli stessi compiti, avendo però due approcci differenti relativi alle rispettive piattaforme e considerando aspetti diversi ma concettualmente affini. A titolo di esempio, quello che Google Analytics traccia durante il flusso di navigazione di un sito è la singola pagina web; dall'altra parte, Analytics per Firebase traccia automaticamente le singole schermate dell'app durante la sua navigazione.

L'integrazione di Firebase Analytics è piuttosto semplice da fare, basta seguire i vari step che sono presenti a questo link https://firebase.google.com/docs/analytics/android/start per progetti Android, mentre in caso di applicazioni per piattaforma Apple il link alla guida è questo https://firebase.google.com/docs/analytics/ios/start.

La dashboard principale si presenta come segue:


Image

Mostra un'anteprima delle principali aree di interesse per il marketing, quali gli utenti attivi, il livello di coinvolgimento degli utenti, le entrate generate dall'app, etc. Ovviamente, per ogni singola area è possibile accedere al suo dettaglio usando il menù laterale o quello presente in alto nella schermata.
Le funzionalità principale di Analytics per Firebase sono riportate di seguito:

  • analisi dell'attività e del coinvolgimento degli utenti
  • attuazione strategie di engagement o re-engagement degli utenti tramite campagne mirate
  • gestione dei vari segmenti degli utenti, ognuno con specifiche caratteristiche
  • controllo e gestione degli eventi, con particolare attenzione a quelli che generano conversione
  • e altro ancora

Come per Crashlytics, è possibile integrare Analytics con diversi degli altri componenti di Firebase, come Cloud Functions, che permette di attivare funzioni quando si verificano specifici eventi in Analytics.

Conclusioni


Abbiamo dunque analizzato, più o meno in dettaglio, la suite di prodotti Firebase, soffermandoci su Crashlytics e Analytics quali soluzioni di analisi dei dati utente e di analisi dello stato di salute dell'app. Ci sarebbe moltissimo altro da dire riguardo Firebase, ogni suo componente merita attenzione, ma preferisco terminare qui, si rischierebbe di andare fuori tematica, visto che molti componenti offrono funzionalità che esulano dal contesto di data analytics.