2012-06-15 2 views
2

Это, как я разработал свои Google Analytics, чтобы работать на мое приложение:Google Analytics на Android дает длительность сред сайта: 00:00:00

Каждое действие распространяется TrackedFragmentActivity или любой другой fragmentActivity, который проходит 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 и я, хотя это была его вина за такое поведение, поэтому я попытался чтобы удалить его, но я получаю точно такую ​​же проблему.

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

ответ

0

Главной проблемой был вызов этого метода: 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(); 

    } 
} 
0

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