Проблемы при использовании Google Analytics для Android SDK

При использовании Google Analytics (libGoogleAnalytics.jar) для Android возникает много проблем.

  1. GoogleAnalyticsTracker хранит статическую ссылку на экземпляр GoogleAnalyticsTracker, который, в свою очередь, хранит строгую ссылку на Context, переданный в start(), что предотвращает сборку мусора для этого контекста (по сути, утечка памяти).
  2. Неясно, как правильно отслеживать сеанс пользователя по действиям. Вызов GoogleAnalyticsTracker.start() в onCreate() каждого действия приводит к созданию нового сеанса для каждого действия. Перемещение start()/stop() только к одному «главному» действию не работает, поскольку последующие действия могут пытаться отслеживать просмотры страниц после вызова stop(), что приводит к NullPointerExceptions. И перемещение вызова start() в Application.onCreate() и stop() в Application.onTerminate() приводит к: A) очень долгоживущим сеансам, поскольку Application.onTerminate() вызывается нечасто, и B) ложный сеанс начинается, если у вас есть такие вещи, как фоновые службы, которые запускаются периодически.
  3. Не удается зарегистрировать события с именами, содержащими пробелы.

документация для библиотеки скудна и не показывает пример многофункциональное приложение.

Просматривая StackOverflow и другие сайты, я пытался понять лучшие практики использования GA для Android, особенно в отношении вышеуказанных проблем. Кто-нибудь понял это?

Кроме того, какие еще проблемы есть, что я не упомянул выше?


person emmby    schedule 03.06.2011    source источник
comment
Связано: stackoverflow.com/questions/3216692/   -  person emmby    schedule 04.06.2011
comment
хороший момент, переместил суть этого вопроса и ответил на stackoverflow.com/questions/3216692/   -  person emmby    schedule 06.06.2011
comment
поправка к пункту 2: onTerminate() никогда не вызывается на реальном устройстве (посмотрите здесь)   -  person futtetennista    schedule 08.06.2011