Sesiones - SDK de Android v2 (heredado)

En este documento, se proporciona una descripción general de alto nivel de las sesiones en Analytics de la app para dispositivos móviles de Google y el SDK de Google Analytics para Android versión 2, y se describen los distintos métodos disponibles para administrar sesiones en tu app.

Descripción general

Una sesión representa un solo período de interacción del usuario con tu app. Las sesiones sirven como contenedores útiles de actividad medida, lo que incluye vistas de pantalla, eventos y transacciones de comercio electrónico.

De forma predeterminada, Google Analytics agrupará los hits que se reciban con un máximo de 30 minutos de diferencia en la misma sesión. Sin embargo, es posible que muchos desarrolladores quieran implementar una capa adicional de administración de sesiones que tenga en cuenta el estado de su app, como cuando esta se encuentra en segundo plano y durante cuánto tiempo.

En el resto de este documento, se describirán los métodos disponibles para implementar esa lógica. Tus opciones van desde la administración de sesiones completamente automatizada, que proporciona EasyTracker, hasta la compilación manual de tu propia lógica de administración de sesiones o el uso de una combinación de ambas.

Administrar sesiones

En la siguiente sección, se describen los métodos disponibles para administrar sesiones en tu app.

La administración automática de las sesiones con EasyTracker

EasyTracker proporciona una administración de sesiones automatizada que puede manejar el trabajo de iniciar sesiones nuevas por ti. Esta es una descripción general de cómo funciona la administración automática de las sesiones:

  • Una implementación predeterminada tiene un tiempo de espera de la sesión de 30 segundos. Para cambiar el tiempo de espera, modifica el parámetro ga_sessionTimeout en el archivo analytics.xml:
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • Si la app permanece en segundo plano por más tiempo que el tiempo de espera de la sesión, EasyTracker indicará la necesidad de una nueva sesión, y el siguiente hit será parte de una nueva sesión.

Administración manual de sesiones

Incluso si usas la administración de sesiones automatizada de EasyTracker, puede ser útil iniciar sesiones nuevas de forma manual en eventos clave del ciclo de vida de tu app.

Por ejemplo, es posible que desees iniciar una sesión nueva de forma manual cada vez que un usuario acceda a tu app de forma correcta. Dado que la intención del usuario de usar la app puede haber cambiado o puede ser un usuario diferente, iniciar una nueva sesión durante el acceso ayudará a mantener los datos de uso separados y más fáciles de comprender en tus informes.

Para iniciar una nueva sesión, llama a setStartSession(true). Esto agregará un parámetro al siguiente hit enviado para indicar que debe iniciar una sesión nueva.

En el siguiente ejemplo, suponemos que se llama a onSignIn() cada vez que un usuario accede correctamente a tu 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.
}