Sessioni - SDK per Android v2 (legacy)

Questo documento fornisce una panoramica generale delle sessioni in Google Analytics per app mobile e nell'SDK Google Analytics per Android v2 e descrive i vari metodi disponibili per gestire le sessioni nella tua app.

Panoramica

Una sessione rappresenta un singolo periodo di interazione dell'utente con l'app. Le sessioni fungono da utili contenitori di attività misurate, tra cui visualizzazioni di schermata, eventi e transazioni e-commerce.

Per impostazione predefinita, Google Analytics raggruppa nella stessa sessione gli hit ricevuti entro 30 minuti l'uno dall'altro. Tuttavia, molti sviluppatori potrebbero voler implementare un ulteriore livello di gestione delle sessioni che tenga conto dello stato dell'app, ad esempio quando l'app è in background e per quanto tempo.

Il resto del documento descrive i metodi disponibili per implementare questa logica. Le opzioni disponibili vanno dalla gestione delle sessioni completamente automatizzata, fornita da EasyTracker, alla creazione manuale della logica di gestione delle sessioni o all'utilizzo di una combinazione di entrambe.

Gestione delle sessioni

La sezione seguente descrive i metodi disponibili per gestire le sessioni nella tua app.

Gestione automatizzata delle sessioni tramite EasyTracker

EasyTracker offre una gestione automatizzata delle sessioni in grado di gestire il lavoro di avvio di nuove sessioni per te. Ecco una panoramica di come funziona la gestione automatizzata delle sessioni:

  • Un'implementazione predefinita ha un periodo di timeout della sessione di 30 secondi. Puoi cambiare il periodo di timeout modificando il parametro ga_sessionTimeout nel file analytics.xml:
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • Se l'app rimane in background più a lungo del periodo di timeout della sessione, EasyTracker segnala la necessità di una nuova sessione e l'hit successivo farà parte di una nuova sessione.

Gestione manuale delle sessioni

Anche se stai utilizzando la gestione automatica delle sessioni di EasyTracker, potrebbe essere utile avviare manualmente nuove sessioni in corrispondenza degli eventi chiave del ciclo di vita dell'app.

Ad esempio, potresti voler avviare manualmente una nuova sessione ogni volta che un utente accede alla tua app. Poiché l'intenzione dell'utente di utilizzare l'app potrebbe essere cambiata o potrebbe essere un valore diverso per l'utente, l'avvio di una nuova sessione all'accesso consentirà di mantenere i dati sull'utilizzo separati e più facili da comprendere nei report.

Per avviare una nuova sessione, chiama il numero setStartSession(true) . Verrà aggiunto un parametro all'hit inviato successivo, che indica che deve avviare una nuova sessione.

Nell'esempio seguente, supponiamo che onSignIn() venga chiamato ogni volta che un utente accede alla tua app:

// Called after a user successfully signs in to your app.
private void onSignIn() {
  ... // The rest of your onSignIn() code.
  myTracker.setStartSession(true); // Where myTracker is an instance of Tracker.
  myTracker.sendEvent("app_flow", "sign_in", "", null); // First activity of new session.
}