Диспетчеризация — iOS SDK

В этом документе описывается, как управлять отправкой данных в 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];