Integrare Google Analytics nelle applicazioni Android

di  Antonio Coschignano, domenica 19 febbraio 2012

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.

Add Profile Analitycs

Per la creazione del profilo dobbiamo specificare una url che sia sintatticamente corretta ma allo stesso tempo fittizia, cioè deve essere solo indicativa:

Add Profile Analitycs

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();
  }


}
Quando avviamo la sessione tramite il metodo startNewSession() bisogna inserire - oltre al Context - anche il codice che ci è stato rilascito quando abbiamo registrato il profilo

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:

Analitycs Flusso

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();
}

Profilo Analitycs Eventi

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.

Altri link che potrebbero interessarti
  • » Struttura di un'applicazione Android
  • » Screenshot su un dispositivo Android
  • » Pubblicare applicazioni nell'Android Market
  • » Integrare AdMob nelle applicazioni Android
  • » Guida all'installazione dell'Android SDK
  • » Guida agli Adapter e le ListView in Android
  • » Gestire Thread e GUI nelle applicazioni Android
  • » Applicazioni Android ed il supporto multilingue
  • » Android VideoView e le Youtube Api
  • » Android Linkify e i collegamenti testuali
  • » Android HTML TextView
  • » Android e tecniche multithreading
  • » Android e la gestione dei sensori
  • » Android e l'interfaccia Parcelable