Envio - SDK para Android v2 (legado)

Este documento descreve como você pode gerenciar o envio de dados ao Google Analytics usando o SDK do Google Analytics para Android v2.

Visão geral

No SDK do Google Analytics para Android, os dados coletados, como exibições de tela ou eventos, são armazenados localmente em uma fila antes de serem enviados aos servidores do Google Analytics. O processo pelo qual esses dados (chamados aqui de "hits") são enviados do SDK para o Google Analytics é conhecido como envio.

O envio é exclusivo das bibliotecas de coleções para dispositivos móveis e foi projetado para reduzir os desafios do acesso não confiável à rede e da duração limitada da bateria.

Há dois tipos de envio:

  • Envio periódico : envia hits automaticamente em um intervalo recorrente que você especifica de forma programática ou no seu arquivo analytics.xml.
  • Envio manual : envie hits manualmente para enviar dados quando for conveniente para você, por exemplo, quando houver uma conexão HTTP.

Os dois tipos de envio ocorrem fora da linha de execução de interface principal na versão 2 do SDK

O restante deste documento fornecerá uma visão mais detalhada sobre cada tipo de envio e como implementá-los no seu app.

Envio periódico

À medida que seu app coleta dados do GA, eles são adicionados a uma fila e enviados periodicamente ao Google Analytics. O envio periódico pode ocorrer quando o app está em execução em primeiro ou segundo plano.

O período de envio padrão é de 30 minutos. É possível fornecer seu próprio intervalo em segundos usando o parâmetro ga_dispatchPeriod no seu arquivo analytics.xml ou chamando setDispatchPeriod(int dispatchPeriodInSeconds), como neste exemplo:

No seu arquivo analytics.xml:

<integer name="ga_dispatchPeriod">60</integer>

Programaticamente:

GAServiceManager.getInstance().setDispatchPeriod(60);

Definir um valor negativo desativa o envio periódico, exigindo que você use o envio manual para transmitir dados ao Google Analytics. Por outro lado, definir um valor de 0 enviará cada hit imediatamente se uma conexão de rede estiver disponível.

Depois que todos os hits forem enviados, os envios periódicos entrarão em um modo de economia de energia e serão desativados até que outra chamada de envio seja feita.

Se um usuário perder acesso à rede ou sair do aplicativo enquanto ainda houver hits aguardando o envio, esses hits permanecerão no armazenamento local. Eles serão enviados na próxima vez que seu aplicativo for executado e que o envio for chamado.

Envio manual

Além de depender do envio periódico, pode haver momentos em que você queira enviar seus hits manualmente. Por exemplo, é possível agrupar os despachos com outras solicitações HTTP feitas pelo aplicativo para reduzir a sobrecarga.

Os hits podem ser enviados manualmente usando a instância GAServiceManager:

GAServiceManager.getInstance().dispatch();