Sessões – SDK para Android v2 (legado)

Este documento fornece uma visão geral de alto nível das sessões no Google Mobile App Analytics e no 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 seu app. As sessões servem como contêineres úteis de atividades avaliadas, que incluem exibições de tela, eventos e transações de e-commerce.

Por padrão, o Google Analytics agrupa hits recebidos no intervalo de 30 minutos entre si na mesma sessão. No entanto, muitos desenvolvedores podem querer implementar uma camada extra de gerenciamento de sessões que considere o estado do app, como quando o app fica em segundo plano e por quanto tempo.

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

Gerenciamento de sessões

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

O gerenciamento automatizado de sessão com o EasyTracker

O EasyTracker oferece gerenciamento automatizado de sessões que podem dar início ao 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 app 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ão

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

Por exemplo, convém iniciar manualmente uma nova sessão sempre que um usuário faz login no app. Como a intenção do usuário de usar o app pode ter mudado ou pode ser de um usuário diferente, iniciar uma nova sessão ao fazer login ajuda 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) . Isso adiciona um parâmetro ao próximo hit enviado indicando que uma nova sessão deve ser iniciada.

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