Диспетчеризация – Android SDK 2 (устаревшая версия)

В этом документе описывается, как управлять отправкой данных в Google Analytics с помощью Google Analytics SDK для Android v2.

Обзор

В Google Analytics SDK для Android собранные данные, такие как просмотры экрана или события, хранятся локально в очереди перед отправкой на серверы Google Analytics. Процесс отправки этих фрагментов данных (называемых здесь «обращениями») из SDK в Google Analytics называется диспетчеризацией.

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

Существует два типа отправки:

  • Периодическая отправка — автоматически отправляет обращения через повторяющийся интервал, который вы указываете либо программно, либо в файле analytics.xml .
  • Ручная отправка — вручную отправляйте обращения для отправки данных, когда вам это удобно, например, при наличии существующего HTTP-соединения.

Оба типа отправки происходят из основного потока пользовательского интерфейса во второй версии SDK.

В оставшейся части этого документа будет более подробно рассмотрен каждый тип отправки и способы их реализации в вашем приложении.

Периодическая отправка

Когда ваше приложение собирает данные Google Analytics, эти данные добавляются в очередь и периодически отправляются в Google Analytics. Периодическая отправка может происходить либо когда ваше приложение работает на переднем плане, либо в фоновом режиме.

Период отправки по умолчанию составляет 30 минут. Вы можете указать свой собственный интервал в секундах, используя параметр ga_dispatchPeriod в analytics.xml или вызвав setDispatchPeriod(int dispatchPeriodInSeconds) как в этом примере:

В файле analytics.xml :

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

Программно:

GAServiceManager.getInstance().setDispatchPeriod(60);

Установка отрицательного значения отключит периодическую отправку, и вам придется использовать отправку вручную, если вы хотите отправлять какие-либо данные в Google Analytics. С другой стороны, установка значения 0 будет отправлять каждое обращение немедленно, если доступно сетевое соединение.

После того как все обращения будут отправлены, периодическая отправка перейдет в режим энергосбережения и будет отключена до тех пор, пока не будет выполнен следующий вызов отправки.

Если пользователь теряет доступ к сети или выходит из вашего приложения, когда еще есть обращения, ожидающие отправки, эти обращения сохраняются в локальном хранилище. Они будут отправлены при следующем запуске вашего приложения и вызове отправки.

Ручная отправка

Помимо периодической отправки, могут быть случаи, когда вам захочется отправлять обращения вручную. Например, вы можете объединить свои отправки с другими HTTP-запросами, выполняемыми вашим приложением, чтобы уменьшить накладные расходы.

Обращения можно отправлять вручную с помощью экземпляра GAServiceManager :

GAServiceManager.getInstance().dispatch();