iOS: кэширует ли Google Analytics SDK все данные для последующей отправки, если Интернет недоступен? - PullRequest
7 голосов
/ 25 октября 2011

Кэширует ли Google Analytics SDK все данные для последующей отправки, если Wi-Fi недоступен? Я думаю, что все в порядке, когда iPhone / iPad подключен к сети (есть доступ в Интернет), то он отправляет все данные событий. Но как насчет его функциональности, когда устройство не имеет подключения к интернету? Нужно ли вручную проверять подключение к Интернету (например, с помощью класса досягаемости apple) и поддерживать кэш данных для последующего использования самостоятельно?

Ответы [ 2 ]

13 голосов
/ 25 октября 2011

Краткий ответ: да .

Подробнее:

  1. Если вы используете период отправки больше нуля (скажем, 15):

    • каждые 15 секунд трекер GA будет пытаться отправлять события, И
    • если сетевое соединение недоступно, трекер попытается отправить через 15 секунд до успеха, И
    • Если произойдет сбой и вы закроете приложение (это , а не приостановлено в фоновом режиме), при следующем сеансе приложения средство отслеживания снова попытается отправить ваши события в соответствии с периодом отправки.
  2. Если вы используете период отправки, равный -1, это означает, что вы отправляете свои события вручную, вызывая [[GANTracker sharedTracker] dispatch]:

    • если вы звоните dispatch, но соединение недоступно, событие кэшируется, поэтому следующий вызов dispatch попытается отправить кэшированные события в пакете,
    • снова, события кэшируются между сеансами приложения.

Вышеприведенное также относится к сочетанию двух вышеупомянутых случаев: вы используете период отправки> 0, но вы решаете отправить некоторые события вручную.

Примечание: Я понятия не имею, сколько событий / данных может кэшировать GA-трекер до того, как его буферы будут перезаписаны или перестанут работать.

Некоторые другие советы по использованию GA:

  • если вы в чем-то не уверены, установите для параметра dryRun значение YES и проверьте ваш сценарий Также вы можете использовать другой идентификатор учетной записи для тестирования
    без пробега.
  • используйте GANTrackerDelegate методы, чтобы увидеть, были ли отправлены хиты.
1 голос
/ 25 октября 2011

Этот является связанным вопросом, в основном вам нужно использовать пакетирование.Я думаю, что аналитика Flurry делает этот аспект более прозрачным (вы просто регистрируете события и обо всем позаботитесь).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...