Отслеживание события Google Analytics в applicationWillTerminate

Я хочу отслеживать, когда пользователь закрывает приложение. Для этого я отправляю событие в google analytics в applicationWillTerminate. Однако это событие никогда не достигает сервера. Однако в документации говорится:

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

Следовательно, я бы предположил, что даже если ему не удастся отправить отслеживаемое событие в applicationWillTerminate, оно сделает это при перезапуске через некоторое время. К сожалению, это не так.

Затем я попытался вызвать GAI.sharedInstance().dispatch(), чтобы заставить Google Analytics отправить событие, но это тоже не сработало.

Я что-то упускаю, или просто нет возможности отслеживать события в applicationWillTerminate?


person gebirgsbärbel    schedule 21.07.2017    source источник


Ответы (1)


Если ваше приложение завершает работу, времени на подключение к сети просто нет. applicationWillTerminate предназначен для использования во внешнем интерфейсе в большинстве случаев.

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

person Tamás Sengel    schedule 21.07.2017
comment
Спасибо, этого я и опасался. Я надеялся, что может быть еще достаточно времени :( - person gebirgsbärbel; 21.07.2017