#google-analytics #background #titanium #appcelerator
#google-analytics #фон #titanium #ускоритель приложений
Вопрос:
наше приложение использует Google Analytics (https://github.com/benbahrenburg/Ti.GA ) но мы заметили, что данные, которые мы на самом деле можем просмотреть, не соответствуют действительности.
Мы используем приложение намного активнее, чем следовало бы. Мы считаем, что это связано с тем, что наше приложение использует выборку в фоновом режиме с помощью Apple Healthkit, что позволяет приложению возобновлять работу и отправлять данные на серверную часть.
У нас есть только что, прямо в app.js поместите init-скрипт для GA-модуля, но, может быть, это не тот способ сделать это?
Я думаю, мы должны инициализировать GA-скрипт, если приложение действительно активно и открыто пользователем. Но как мы это обнаруживаем и делаем?
Есть ли какой-нибудь способ точно узнать, открыл ли пользователь приложение, и если приложение возобновлено пользователем, продолжайте отслеживать событие GA?
Комментарии:
1. Я думаю, вам следует попробовать связаться с автором этого стороннего SDK через сайт GitHub, который сейчас есть, чтобы узнать, отслеживают ли они stack или нет.
Ответ №1:
Вы должны запускать только просмотры страниц / просмотры экрана и другие события, используя postlayout
события Windows.
Инициализация Ti.Ga в фоновом режиме на app.js все в порядке, пока он ничего не посылает. Поэтому, если ваше приложение запускается в фоновом режиме, кажется, что это неправильный способ сделать это.
Я рекомендую написать библиотеку-оболочку для Ti.Ga и вызов этой библиотеки для отправки данных в Google Analytics. В этой библиотеке при получении данных из вашего приложения проверьте, инициализировано ли оно уже, и, если нет, инициализируйте его. Не в app.js
Комментарии:
1. Это имеет смысл, и это может быть возможно в app.js тоже, если бы только был какой-нибудь способ выяснить, инициализируется / открывается ли приложение в фоновом режиме или пользователем. Насколько я понимаю, мы не можем точно знать, открыто ли оно пользователем или фоновой выборкой в Titanium (?)
2. Я не уверен на 100%. Но я знаю, что такие события, как
postlayout
не запускаются, если приложение работает в фоновом режиме, так что это так3. Окей, логика, которая имеет наибольший смысл, примерно такова; 1) Создайте Ti. Объект GA 2) Если coreNavObject запускает событие postLayout, создайте событие отслеживания в объекте GA (например, инициализируйте отслеживание) 3) Когда приложение запускает событие «paus» или событие «paused», отключите отслеживание 4) Если приложение запускает событие «возобновить «или «возобновлено», снова переключитесь на трекер. Если трекер не существует, создайте его (потому что приложение было открыто сзади)?
4. да, похоже, я действительно это имел в виду