Sessions – SDK iOS

Ce document offre une vue d'ensemble des sessions dans Google Mobile App Analytics et le SDK Google Analytics pour iOS v2. Il décrit également les différentes méthodes disponibles pour gérer les sessions dans votre application.

Présentation

Une session représente une seule période d'interaction utilisateur avec votre application. Les sessions servent de conteneurs utiles pour mesurer l'activité, y compris les visionnages de l'écran, les événements et les transactions e-commerce.

Par défaut, Google Analytics regroupe les appels reçus dans un délai de 30 minutes au cours d'une même session. Toutefois, de nombreux développeurs peuvent souhaiter implémenter une couche supplémentaire de gestion des sessions qui prend en compte l'état de leur application, par exemple lorsque l'application est en arrière-plan et pendant combien de temps.

Le reste de ce document décrit les méthodes disponibles pour mettre en œuvre cette logique. Les options disponibles vont de la gestion de session entièrement automatisée fournie par EasyTracker à la création manuelle de votre propre logique de gestion de session ou à l'utilisation d'une combinaison des deux.

Gérer les sessions

La section suivante décrit les méthodes à votre disposition pour gérer les sessions dans votre application.

Gestion automatisée des sessions

Le SDK Google Analytics pour iOS permet de gérer automatiquement les sessions et de gérer le lancement de nouvelles sessions pour vous. Voici un aperçu du fonctionnement de la gestion automatisée des sessions:

  • Une implémentation par défaut présente un délai d'expiration de session de 30 secondes. Vous pouvez modifier le délai avant expiration en appelant setSessionTimeout:(NSTimeInterval) :
      [tracker setSessionTimeout:60];
  • Si l'application reste en arrière-plan pendant plus longtemps que le délai d'expiration de la session, le prochain appel fera partie d'une nouvelle session.

Gestion manuelle des sessions

Il peut être utile de démarrer de nouvelles sessions manuellement lors d'événements clés du cycle de vie de votre application.

Par exemple, vous pouvez démarrer manuellement une nouvelle session chaque fois qu'un utilisateur se connecte à votre application. Étant donné que l'intention de l'utilisateur d'utiliser l'application peut avoir changé ou qu'il peut s'agir d'un autre altogehter, démarrer une nouvelle session lors de la connexion vous aidera à séparer les données d'utilisation et à les comprendre plus facilement dans vos rapports.

Pour démarrer une nouvelle session, définissez sessionStart sur YES. Un paramètre est alors ajouté au prochain appel envoyé pour indiquer qu'une nouvelle session doit être lancée.

Dans l'exemple ci-dessous, nous partons du principe que onSignIn est appelé chaque fois qu'un utilisateur se connecte à votre application:

// 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.

}