Integrare Google Analytics nelle applicazioni Android
Google Analytics ha rilasciato un SDK che fornisce un'interfaccia per il monitoraggio delle attività all'interno delle applicazioni mobili, sia per Android che per IOS. Tramite questo SDK è possibile tenere sotto controllo la distribuzione e l'utilizzo delle nostre applicazioni. Ad esempio possiamo calcolare le visite, la durata della sessione, frequenza di rimbalzo e i visitatori unici. Questo SDK utilizza un modello di monitoraggio che č stato progettato per monitorare i visitatori dei siti web tradizionali. Quindi per chi ha familiarità con Google Analytics noterà che i report generati per le applicazioni saranno identici a quelli per i siti web. In questo articolo vedremo brevemente come implementare Google Analytics nella nostre applicazioni.
Creare un nuovo profilo analytics
Per prima cosa bisogna aggiungere al nostro account analytics un nuovo profilo. Questa operazione ci fornisce un codice che ci servirà nell'integrazione per il monitoraggio.
Per la creazione del profilo dobbiamo specificare una url che sia sintatticamente corretta ma allo stesso tempo fittizia, cioè deve essere solo indicativa:
Importare la libreria
Per prima cosa bisogna scaricare librearia Google Analytics SDK for Android ed importare il file jar nel nostro progetto. Se stiamo utilizzando l'ADT di Eclipse basta selezionare : tasto destro sul progetto -> properties -> Java Build Path -> Add External Jars.. e selezionare il file Jar che abbiamo scaricato.
Tracciare le Activity
Dopo aver scaricato la libreria e importata nel progetto proseguiamo con l'implementazione del codice. Cosa ci consente di fare Google Analytics? Possiamo pensare che ogni Activity delle nostre applicazioni può essere vista come una pagina di un sito. Ogni click su un pulsante invece puņ generare un evento che verrà tracciato all'interno del nostro account. Quindi vediamo adesso come implementare queste funzioni all'interno delle applicazioni. Ecco qualche esempio di codice:
import com.google.android.apps.analytics.GoogleAnalyticsTracker; ... public class ActivityTest exstends Activity { @Override public void onCreate(Bundle savedInstance) { GoogleAnalyticsTracker tracker = GoogleAnalyticsTracker.getInstance(); tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", this); tracker.trackPageView("nome_activity"); } @Override protected void onDestroy() { super.onDestroy(); // Concludiamo la sessione tracker.stopSession(); } }
Abbiamo semplicemente tracciato l'apertura di un'activity. Queste è possibile farlo con qualsiasi activity assegnando un nome diverso a ciascuna. Tramite questo tracciamento Google Analytics riesce a verificare (come accade per il web) i visitatori unici, la frequenza di rimbalzo, i nuovi/vecchi visitatori, geolocalizzazione e tanti altri report. Vediamo un esempio di report che è possibile generare:
Questo è un utilissimo report (implementato da poco su Google Analitycs) che ci visualizza il flusso dei visitatori che naviga all'interno dele nostre activity.
Eventi
Un'altra funzione fondamentale è il tracciamento degli eventi. Possiamo generare un evento assegnando dei valori diversi per un tipo di evento. Ad esempio possiamo creare una tipologia di evento che tiene traccia della versione dell'applicazione. In questo modo ci servirà - una volta effettuato l'aggiornamento di una applicazione - a verificare la distribuzione degli aggiornamenti fra gli utenti:try { //Questo metodo accede alla versione dell'applicazione che è impostata nell'AndroidManifest.xml String versioneName = getPackageManager().getPackageInfo(getPackageName(),0).versionName; tracker.trackEvent("version", "Ver "+versionName, "", 1); } catch (NameNotFoundException e) { e.printStackTrace(); }
Queste sono solo alcune funzioni che possiamo effettuare. Possiamo usufruire di una miriade di funzioni, tracciare anche i click su admob generando degli eventi, insomma per quando riguarda gli eventi e solo questione di fantasia.
Bisogna tenere presente che un uso eccessivo di Google Analytics all'interno di un' applicazione, può comportare un rallentamento, e anche uno spreco di risorse di rete; l'SDK sfrutta il protocollo http per tracciare i dati. Per approfondire l'argomento vi invito a visitare la documentazione ufficiale.