Distribution - SDK Android

Ce document explique comment gérer les données de distribution vers Google Analytics à l'aide du SDK Google Analytics pour Android v3.

Présentation

Les données collectées à l'aide du SDK Google Analytics pour Android sont stockées localement avant d'être distribuées sur un thread distinct à Google Analytics.

Les données doivent être envoyées et reçues au plus tard à 4h le jour suivant, dans le fuseau horaire local de chaque vue. Les données reçues à une date ultérieure n'apparaîtront pas dans les rapports. Par exemple, si un appel est mis en file d'attente localement à 23h59, il doit être envoyé dans les quatre heures, avant 3h59, pour apparaître dans les rapports. En revanche, un appel mis en file d'attente à minuit doit être envoyé dans un délai de 28 heures, à 3 h 59 le jour suivant, afin d'apparaître dans les rapports.

Distribution périodique

Par défaut, les données sont envoyées depuis le SDK Google Analytics pour Android toutes les 30 minutes.

Pour définir la période de distribution par programmation:

// Set the dispatch period in seconds.
GAServiceManager.getInstance().setLocalDispatchPeriod(15);

Pour définir la période d'envoi au format XML à l'aide d'EasyTracker:

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

La définition d'une valeur négative désactive l'envoi périodique. Vous devez donc utiliser l'envoi manuel si vous souhaitez envoyer des données à Google Analytics.

// Disable periodic dispatch by setting dispatch period to a value less than 1.
GoogleAnalytics.getInstance(this).setDispatchPeriod(0);

Si un utilisateur perd l'accès au réseau ou quitte votre application alors qu'il reste des appels en attente d'envoi, ceux-ci sont conservés dans l'espace de stockage local. Ils seront envoyés la prochaine fois que votre application sera en cours d'exécution et que la fonction de distribution sera appelée.

Distribution manuelle

Pour distribuer manuellement les appels, par exemple lorsque vous savez que le signal radio de l'appareil est déjà utilisé pour envoyer d'autres données:

GAServiceManager.getInstance().dispatchLocalHits();