Google Analytics на Android дает среднюю продолжительность сайта: 00:00:00

Вот как я разработал свой Google Analytics для работы с моим приложением:

Каждое действие расширяет TrackedFragmentActivity или любой другой фрагментActivity, который расширяет TrackedFragmentActivity.

TrackedFragmentActivity:

public class TrackedFragmentActivity extends SherlockFragmentActivity {
    GoogleAnalyticsTracker tracker;

    public void startAnalytics(String pageName) {
        tracker = GoogleAnalyticsTracker.getInstance();

        tracker.startNewSession("UA-CODE-HERE", this);
        tracker.trackPageView(pageName);
        tracker.dispatch();
    }   
}

и каждое действие имеет вызов super.startAnalytics("pagenameHere") в файле onCreate.

Теперь каждое действие отслеживается должным образом и все такое, но данные, связанные с продолжительностью, полностью перепутаны:

Pages / Visit: 1.07
Avg. Visit Duration: 00:00:00
Bounce Rate: 94.63%

Я звонил stopTracker() onDestroy и думал, что это его вина за такое поведение, поэтому я попытался удалить его, но у меня точно такая же проблема.

Любая идея, что может быть причиной этого?


person valeriodidonato    schedule 15.06.2012    source источник


Ответы (2)


Я считаю, что это нормальное поведение. Насколько я понимаю, Google Analytics на платформе Android ограничивается регистрацией простых событий.

person atok    schedule 15.06.2012

Основная проблема заключалась в вызове этого метода: tracker.startNewSession("UA-CODE-HERE", this);

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

новый код:

public class TrackedFragmentActivity extends SherlockFragmentActivity {
    private static GoogleAnalyticsTracker tracker = GoogleAnalyticsTracker.getInstance();
    private static boolean hasStarted = false;

    public void startAnalytics(String pageName) {

        if(!hasStarted) {
            tracker.startNewSession("UA-CODE-HERE", this);
            hasStarted = true;
        }

        tracker.trackPageView(pageName);
        tracker.dispatch();

    }   
}
person valeriodidonato    schedule 02.07.2012