这就是我将Google Analytics设计为适用于我的应用的方式:
每项活动都会延伸TrackedFragmentActivity
或任何其他扩展TrackedFragmentActivity
的fragmentActivity。
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 :(得分:0)
我认为这是正常行为。我的理解是Android平台上的Google Analytics仅限于记录简单事件。
答案 1 :(得分: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();
}
}