Google Analytics iOS SDK, очень большой интервал отправки

Я интегрировал SDK Google Analytics для iOS в свое приложение для iOS и хочу установить длительный интервал отправки, чтобы избежать частых сетевых вызовов. Я хочу установить интервал 6 часов или больше.

  // set Google Analytics dispatch interval, eg: 20 seconds
    [GAI sharedInstance].dispatchInterval = 6*60*60; // dispatch after every 6 hours 

У меня есть несколько вопросов:

Q1. Что произойдет, если приложение будет уничтожено непосредственно перед отправкой данных, будут ли данные отправлены сразу же при следующем запуске приложения? (например: приложение уничтожено всего за несколько минут до интервала отправки).

Q2. Предположим, приложение пытается отправить данные через 6 часов, но сеть в это время недоступна. Будут ли данные отправлены снова через следующие 6 часов как совокупность данных за 12 часов?

Любое предложение для оптимизированного подхода? Я не хочу потреблять пропускную способность сети через каждые несколько секунд или минут только для второстепенных данных.


person W.S    schedule 15.11.2013    source источник


Ответы (1)


dispatchInterval по умолчанию равен 120 (2 мин).

Вы отправили много данных? Если у вас есть жизненно важные данные, я предлагаю оставить значение 120 (или лучше). Поскольку он использует очень минимальную пропускную способность.

Если вы не в сети, данные будут отправлены, когда вы снова подключитесь к сети. (используйте событие, чтобы легко протестировать его в своем приложении)

По данным Google: данные, собранные с помощью SDK Google Analytics для iOS, хранятся локально, а затем отправляются отдельным потоком в Google Analytics.

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

Подробнее здесь: https://developers.google.com/analytics/devguides/collection/ios/v3/dispatch

person Franck    schedule 04.12.2013
comment
Спасибо за ответ на вопрос. данные вообще не жизненно важны, так как они просто для анализа разных событий и если они отправляются раз в день то мне тоже нормально. Мне нужно еженедельно или ежемесячно анализировать аналитику приложений, поэтому разница в несколько часов или 1 день не имеет значения. мне просто было больше интересно избегать ненужных сетевых вызовов через каждые несколько минут.... - person W.S; 06.12.2013
comment
вы можете установить для параметра dispatchInterval по умолчанию значение 0, это заставит GA не загружать какие-либо данные, и вы можете выполнять отправку вручную, вызывая метод dispatch() в любое время. Еще один лучший способ — это отправка в фоновом режиме, читайте ручную отправку — разработчикам. google.com/analytics/devguides/collection/ios/v3/ - person abhinavroy23; 20.12.2019