У меня есть приложение, которое большую часть времени работает в фоновом режиме, как Сервис. В Интернете много примеров и руководств по использованию API Google Analytics с библиотекой EasyTracker для отслеживания нескольких действий, но нет ни одного объяснения, как использовать API Google Analytics в службе. Возможно ли это?
Android: можно ли использовать Google Analytics внутри службы?
Ответ 1
Хорошие новости! Ты можешь. и это довольно легко.
Вам понадобится контекст приложения, позвонив ему mCtx Когда у вас есть это, вам нужен экземпляр GoogleAnalytics, вы можете получить его, позвонив
GoogleAnalytics mGaInstance = GoogleAnalytics.getInstance(mCtx);
теперь вам нужно установить любые параметры, которые вы хотите (что вы бы нормально вложили в analytics.xml при использовании EasyTracker).
теперь вам нужен экземпляр Tracker:
Tracker mTracker = mGaInstance.getTracker("UA-XXXX-Y"); // your ID here
и что в основном это.. теперь вы можете отправлять события с помощью этого трекера
mTracker.sendEvent(....);
и т.д..
Надеюсь, это поможет. Это самые основы, но GoogleAnalytics и Tracker заменяют EasyTracker.
Подробнее об этом можно прочитать здесь: Расширенная настройка - Android SDK
Просто обратите внимание, что пока вы не увидите отчеты на веб-сайте GA, это может занять до 24 часов.. так что будьте терпеливы:) или используйте mGaInstance.setDebug(true), чтобы увидеть в logcat, что он был отправлен
Ответ 2
Я бы предложил не делать этого, если вы не уверены, что делаете.
Я реализовал события GA в своей службе, но это повредило многие мои статистические данные, такие как продолжительность сеанса, ежедневный процент новых сеансов, ежедневных сеансов и т.д. GA думает, что события вызваны после просмотра экрана, и поэтому он подталкивает событие GA с именем экрана " (не установлено)". Поскольку службы часто встречались в фоновом режиме, это приводило к развращению различных статистических данных. Отображение активных пользователей в режиме реального времени также пошло не так.