При использовании Google Analytics (libGoogleAnalytics.jar) для Android возникает много проблем.
- GoogleAnalyticsTracker хранит статическую ссылку на экземпляр GoogleAnalyticsTracker, который, в свою очередь, хранит строгую ссылку на Context, переданный в start(), что предотвращает сборку мусора для этого контекста (по сути, утечка памяти).
- Неясно, как правильно отслеживать сеанс пользователя по действиям. Вызов GoogleAnalyticsTracker.start() в onCreate() каждого действия приводит к созданию нового сеанса для каждого действия. Перемещение start()/stop() только к одному «главному» действию не работает, поскольку последующие действия могут пытаться отслеживать просмотры страниц после вызова stop(), что приводит к NullPointerExceptions. И перемещение вызова start() в Application.onCreate() и stop() в Application.onTerminate() приводит к: A) очень долгоживущим сеансам, поскольку Application.onTerminate() вызывается нечасто, и B) ложный сеанс начинается, если у вас есть такие вещи, как фоновые службы, которые запускаются периодически.
- Не удается зарегистрировать события с именами, содержащими пробелы.
документация для библиотеки скудна и не показывает пример многофункциональное приложение.
Просматривая StackOverflow и другие сайты, я пытался понять лучшие практики использования GA для Android, особенно в отношении вышеуказанных проблем. Кто-нибудь понял это?
Кроме того, какие еще проблемы есть, что я не упомянул выше?
onTerminate()
никогда не вызывается на реальном устройстве (посмотрите здесь) - person futtetennista   schedule 08.06.2011