Este documento descreve uma versão legada do SDK do Android. Se você não tem experiência com o Analyitcs, use o SDK mais recente. Saiba mais

Sessões – SDK para Android v2 (legado)

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Este documento apresenta uma visão geral de alto nível de sessões do Google Analytics para dispositivos móveis e do SDK do Google Analytics para Android v2 e descreve os vários métodos disponíveis para gerenciar sessões no seu aplicativo.

Visão geral

Uma sessão representa um único período de interação do usuário com o app. As sessões servem como contêineres úteis de atividades medidas, o que inclui exibições de tela, eventos e transações de e-commerce.

Por padrão, o Google Analytics agrupa hits recebidos no prazo de 30 minutos uns dos outros na mesma sessão. No entanto, muitos desenvolvedores podem implementar uma camada extra de gerenciamento de sessões que considera o estado do app, por exemplo, quando ele está em segundo plano e por quanto tempo.

No restante deste documento, descrevemos os métodos disponíveis para implementar essa lógica. As opções variam do gerenciamento de sessões totalmente automatizado, fornecido pelo EasyTracker, à criação manual da sua própria lógica de gerenciamento de sessões ou o uso de uma combinação de ambos.

Gerenciamento de sessões

A seção a seguir descreve os métodos disponíveis para gerenciar sessões no app.

Gerenciamento automatizado de sessões usando o EasyTracker

O EasyTracker fornece gerenciamento automatizado de sessões que pode processar o trabalho de iniciar novas sessões para você. Confira uma visão geral de como o gerenciamento automatizado de sessões funciona:

  • Uma implementação padrão tem um tempo limite da sessão de 30 segundos. Para alterar o tempo limite, modifique o parâmetro ga_sessionTimeout no seu arquivo analytics.xml:
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • Se o aplicativo permanecer em segundo plano por mais tempo do que o tempo limite da sessão, o EasyTracker sinalizará a necessidade de uma nova sessão, e o próximo hit fará parte de uma nova sessão.

Gerenciamento manual de sessões

Mesmo que você esteja usando o gerenciamento automatizado de sessões do EasyTracker, pode ser útil iniciar novas sessões manualmente em eventos importantes do ciclo de vida do app.

Por exemplo, recomendamos que você inicie manualmente uma nova sessão sempre que um usuário fizer login no seu aplicativo. Como a intenção do usuário de usar o aplicativo pode ter mudado ou ser um login do usuário diferente, iniciar uma nova sessão no login ajudará a manter os dados de uso separados e mais fáceis de entender nos seus relatórios.

Para iniciar uma nova sessão, chame setStartSession(true) . Um parâmetro será adicionado ao próximo hit enviado, indicando que ele precisa iniciar uma nova sessão.

No exemplo abaixo, presumimos que onSignIn() seja chamado sempre que um usuário fizer login no 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.
}