В этом документе описывается, как управлять отправкой данных в Google Analytics с помощью Google Analytics SDK для iOS v2.
Обзор
В Google Analytics SDK для iOS собранные данные, такие как просмотры экрана или события, хранятся локально в очереди перед отправкой на серверы Google Analytics. Процесс отправки этих фрагментов данных (называемых здесь «обращениями») из SDK в Google Analytics называется диспетчеризацией.
Диспетчеризация уникальна для мобильных библиотек коллекций и предназначена для решения проблем, связанных с ненадежным доступом к сети и ограниченным временем автономной работы.
Существует два типа отправки:
- Периодическая отправка — автоматически отправляет обращения через указанный вами интервал.
- Ручная отправка — вручную отправляйте обращения для отправки данных, когда вам это удобно, например, при наличии существующего HTTP-соединения.
В оставшейся части этого документа будет более подробно рассмотрен каждый тип отправки и способы их реализации в вашем приложении.
Периодическая отправка
Когда ваше приложение собирает данные Google Analytics, эти данные добавляются в очередь и периодически отправляются в Google Analytics. Периодическая отправка может происходить либо когда ваше приложение работает на переднем плане, либо в фоновом режиме.
Период отправки по умолчанию составляет 2 минуты. Вы можете указать свой собственный интервал в секундах, вызвав setDispatchPeriod:(NSTimeInterval)
как в этом примере:
[[GAI sharedInstance] setDispatchPeriod:60];
Установка отрицательного значения отключит периодическую отправку, и вам придется использовать отправку вручную, если вы хотите отправлять какие-либо данные в Google Analytics. С другой стороны, установка значения 0
будет отправлять каждое обращение немедленно, если доступно сетевое соединение.
После того как все обращения будут отправлены, периодическая отправка перейдет в режим энергосбережения и будет отключена до тех пор, пока не будет выполнен следующий вызов отправки.
Если пользователь теряет доступ к сети или выходит из вашего приложения, когда еще есть обращения, ожидающие отправки, эти обращения сохраняются в локальном хранилище. Они будут отправлены при следующем запуске вашего приложения и вызове отправки.
Ручная отправка
Помимо периодической отправки, могут быть случаи, когда вы захотите отправлять свои обращения вручную. Например, вы можете объединить свои отправки с другими HTTP-запросами, выполняемыми вашим приложением, чтобы уменьшить накладные расходы.
Обращения можно отправлять вручную, вызвав dispatch
, как показано ниже:
[[GAI sharedTracker] dispatch];