Sessões – SDK para iOS

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

Gerenciamento automatizado de sessão

O SDK do Google Analytics para iOS oferece gerenciamento automatizado de sessões que pode dar conta do 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. É possível alterar o tempo limite chamando setSessionTimeout:(NSTimeInterval):
      [tracker setSessionTimeout:60];
  • Se o aplicativo permanecer em segundo plano por mais tempo que o tempo limite da sessão, o próximo hit fará parte de uma nova sessão.

Gerenciamento manual de sessão

Pode ser útil iniciar novas sessões manualmente em eventos importantes no ciclo de vida do 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, defina sessionStart como YES. 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.
- (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.

}