Sessioni - SDK per iOS

Questo documento fornisce una panoramica generale delle sessioni in Google Analytics per app mobile e nell'SDK Google Analytics per iOS 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

L'SDK Google Analytics per iOS fornisce la gestione automatica 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 modificare il periodo di timeout chiamando il numero setSessionTimeout:(NSTimeInterval):
      [tracker setSessionTimeout:60];
  • Se l'app rimane in background più a lungo del periodo di timeout della sessione, l'hit successivo farà parte di una nuova sessione.

Gestione manuale delle sessioni

Può essere utile avviare manualmente nuove sessioni in corrispondenza di 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, imposta sessionStart su YES. 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.
- (void)onSignIn {
  ... // The rest of your onSignIn code.
  tracker.sessionStart = YES;
  [tracker sendEventWithCategory:@"app_flow"
                      withAction:@"sign_in"
                       withLabel:nil
                       withValue:nil]; // First activity of new session.

}