Distribution - SDK iOS

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

Présentation

Dans le SDK Google Analytics pour iOS, 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:

  • Envoi périodique : les appels sont automatiquement envoyés à un intervalle récurrent que vous spécifiez.
  • 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.

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.

Le délai de distribution par défaut est de deux minutes. Vous pouvez fournir votre propre intervalle (en secondes) en appelant setDispatchPeriod:(NSTimeInterval), comme dans cet exemple:

[[GAI sharedInstance] 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 en appelant dispatch, comme illustré ci-dessous:

[[GAI sharedTracker] dispatch];