Déploiement – SDK Android

Ce document explique comment gérer les données de répartition à 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 envoyées à Google Analytics via un thread distinct.

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

Répartition périodique

Par défaut, les données sont envoyées à partir du 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 de distribution en XML à l'aide d' EasyTracker:

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

Si vous définissez une valeur négative, vous désactivez l'envoi périodique, ce qui nécessite d'utiliser le répartition manuelle 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 que des appels sont toujours en attente d'envoi, ces appels sont conservés dans l'espace de stockage local. Ils seront envoyés la prochaine fois que votre application s'exécutera et qu'elle sera appelée.

Répartition manuelle

Pour répartir manuellement les appels, par exemple si vous savez que la radio de l'appareil est déjà utilisée pour envoyer d'autres données:

GAServiceManager.getInstance().dispatchLocalHits();