Сбросить события Google Analytics вручную с помощью Google Play Services

Можно ли вручную сбросить все события в очереди GoogleAnalytics, если установлены службы Google Play?

В документации Android GA есть один метод: GoogleAnalytics.getInstance(getActivity().getBaseContext()).dispatchLocalHits();

Но этот метод не работает с Google Play Services - в документации сказано:

public void dispatchLocalHits ()

Отправляет попадания в очередь (просмотр, события или транзакции) в GoogleAnalytics, если доступно сетевое соединение и используется локальная диспетчерская служба. Этот метод работает, только если используется локальная диспетчеризация. Локальная диспетчеризация используется только при отсутствии сервисов Google Play на устройстве. Как правило, приложения не должны полагаться на возможность отправлять попадания вручную.

1 ответ

Когда сервис Google Play доступен, обращения из приложения отправляются в сервис без каких-либо задержек (за исключением времени обработки, которое не должно занимать больше миллисекунд). Как только данные передаются в службу, ваше приложение не участвует в доставке. Ваш процесс подачи заявления может быть благополучно прерван, а попадания все равно будут загружены в Google Analytics. Сам сервис будет периодически отправлять собранные данные из нескольких приложений в виде сжатых пакетов. Отдельные приложения не имеют контроля над графиком отправки услуг. Обычно попадания будут загружены по сети в течение нескольких минут после того, как приложение сообщит о них.

Практически на любом устройстве с установленным магазином Google Play будут сервисы Google Play. Скорее всего, ваше приложение работает на устройстве Google Play. Телефон Amazon Fire и многие спонсируемые оператором устройства в Китае не будут иметь сервисов Google Play.

Другие вопросы по тегам