Distribution - SDK Android v2 (ancien)

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

Présentation

Dans le SDK Google Analytics pour Android, les données collectées, telles que les visionnages de l'écran ou les événements, sont stockées localement dans une file d'attente avant d'être envoyées aux serveurs Google Analytics. Le processus par lequel ces éléments de données (appelés ici "appels") sont envoyés du SDK à Google Analytics est appelé "distribution".

La distribution est propre aux bibliothèques de collections mobiles. Elle est conçue pour atténuer les problèmes liés au manque de fiabilité de l'accès au réseau et à l'autonomie limitée de la batterie.

Il existe deux types de répartition:

  • Distribution périodique : les appels sont automatiquement envoyés à un intervalle récurrent que vous spécifiez, de manière automatisée ou dans votre fichier analytics.xml.
  • Distribution manuelle : l'envoi manuel des appels permet d'envoyer des données au moment qui vous convient, par exemple lorsqu'il existe une connexion HTTP.

Ces deux types de distribution se produisent en dehors du thread UI principal dans la version 2 du SDK.

Le reste de ce document fournit une présentation plus détaillée de chaque type de distribution et de la manière de les implémenter dans votre application.

Distribution périodique

Lorsque votre application collecte des données GA, ces données sont ajoutées à une file d'attente et distribuées régulièrement à Google Analytics. Une distribution périodique peut se produire lorsque votre application s'exécute au premier plan ou en arrière-plan.

La période de distribution par défaut est de 30 minutes. Vous pouvez fournir votre propre intervalle en secondes à l'aide du paramètre ga_dispatchPeriod dans votre fichier analytics.xml ou en appelant setDispatchPeriod(int dispatchPeriodInSeconds) comme dans cet exemple:

Dans votre fichier analytics.xml :

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

Par programmation:

GAServiceManager.getInstance().setDispatchPeriod(60);

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. En revanche, si vous définissez la valeur 0, chaque appel est immédiatement envoyé si une connexion réseau est disponible.

Une fois tous les appels envoyés, l'envoi périodique passe en mode Économie d'énergie et est désactivé jusqu'à ce qu'un autre appel d'envoi soit effectué.

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

En plus de vous baser sur l'envoi périodique d'appels, vous pouvez parfois avoir besoin d'envoyer manuellement vos appels. Par exemple, vous pouvez regrouper vos distributions avec d'autres requêtes HTTP effectuées par votre application afin de réduire les frais généraux.

Les appels peuvent être distribués manuellement à l'aide de l'instance GAServiceManager :

GAServiceManager.getInstance().dispatch();