在具有多项活动的Android应用中实施Google Analytics

时间:2011-03-22 06:44:53

标签: android google-analytics

在我的Android应用中实施时,我遇到了从GA获取正确统计数据的问题。这是场景:

我有一个Android应用程序已经在市场上存在。这个程序是由其他程序员开发的。在这个应用程序中有5个活动,其中第一个活动是具有Tabhost的Launcher活动,其他4个活动显示在不同的选项卡中。此应用程序中的GA实现是通过在Globals.java中定义Private Static Tracker对象和tracker.start(“UA-profile1”,60,this)来完成的。用于onCreate of Launcher活动,其中“UA-profile1”是旧程序员团队在GA网站上创建的配置文件的UA ID,60秒是调度事件/综合浏览量的时间间隔。 Tracker.Stop用于onDestroy的Launcher活动。 Tracker.TrackPageView用于所有活动中的适当位置。这种方法运行良好。

现在,我正在开发此应用的更新版本。现在,大约有12项活动。我没有使用Tabhost,每个活动都是SingleTask活动,我没有维护堆栈活动。因此,用户可以通过按设备返回按钮随时退出应用程序。我在此更新版本中实现了Flurry和GA。我用于GA的方法是,我在每个活动中创建Tracker对象,在onCreate中我使用tracker.start(“UA-profile2”,10,this);其中“UA-profile2”是我在GA网站上创建的配置文件的UA ID,10秒是调度事件/综合浏览量的时间间隔。在onDestroy中我使用的是Tracker.Stop。我已经构建了apk并将其上传到Market。现在,当我的用户正在更新应用程序并一致地使用它时,因为Flurry分析在所有图表中呈现出上升趋势,但是当我去看GA统计数据时,我发现在旧的配置文件中图表正在下降,这很好由于我的用户正在迁移到新版本,但是当我看到新的配置文件时,图表没有增加。

当我搜索有多个活动的GA的实现时,有些人建议我们应该使用静态跟踪器对象而不是在每个活动中创建它。 Google Analytics网站上没有关于此的详细信息。

所以,我想知道方法1(使用整个应用程序的静态跟踪器对象)是否正确,方法2(为每个活动创建跟踪器对象)是错误的?或者可能还有其他一些问题。

请帮忙, 谢谢,

詹姆斯

1 个答案:

答案 0 :(得分:2)

这两种方法都应该有效,但静态跟踪器是唯一可以跟踪同一“访问”下的多项活动的方法。

见这些答案:
Google Analytics in Android app - dealing with multiple activities
Google Analytics for Android using multiple Activities