2

I've implemented Google Analytics V3 for an Android app exactly as instructed here: https://developers.google.com/analytics/devguides/collection/android/v3/

For step 2, I've added the activityStart and activityStop methods to a base activity which every activity extends from. However, looking at the real time dashboard, only one specific activity seems to be logged.

Why aren't the other ones being logged? What am I missing?

4

1 回答 1

2

我决定构建一个测试应用程序,看看我能为你想出什么。我的测试应用程序总共包含 3 个活动:SplashMain ActivitySecondary Activity

Splash在清单中设置为启动器 & 和 main,其他 2 个活动没有意图过滤器。

为了确保这不一定取决于用户活动,而是在每次活动创建时开始,Splash 创建了一个可运行文件,在加载第一个活动并完成之前持续 4 秒:

finish();
startActivity(new Intent(Splash.this, MainActivity.class));

第一个活动加载,只是一个带有按钮的空白屏幕。单击时,会为辅助活动创建一个意图。

所有这三个类都扩展了TrackedActivity使用 Google 示例代码的类。

果然,我在实时仪表板中什么也没看到,除了 com.test.testproject.SecondaryActivity.

既没有splash也没有main出现。

下一步,在您的 analytics.xml 文件中打开详细日志记录:

<!-- Enable Verbose Logging -->
  <string name="ga_logLevel">verbose</string>

我这样做并查看了日志输出,然后很惊讶地发现我的所有 3 个活动似乎都正确记录了。

10-06 16:47:56.194: V/GAV3(7704): GET /collect?v=1&ul=en-us&t=appview&ht=1381092218141&sr=720x1280&an=TestProject&tid=UA-xxxxxxxx&aid=com.test.testproject&cid=f0a09e69-67e8- 4ac0-b4b7-748be827efa7&av=1.0&_u=.r8&_v=ma3.0.0&cd=com.test.testproject.MainActivity&qt=258067&z=25 HTTP/1.1

10-06 16:47:56.234: V/GAV3(7704): GET /collect?v=1&ul=en-us&t=appview&ht=1381092220248&sr=720x1280&an=TestProject&tid=UA-xxxxxxxx&aid=com.test.testproject&cid=f0a09e69-67e8- 4ac0-b4b7-748be827efa7&av=1.0&_u=.98&_v=ma3.0.0&cd=com.test.testproject.SecondaryActivity&qt=255994&z=26 HTTP/1.1

值得注意的是,热门商店出现故障:

10-06 16:51:05.008: V/GAV3(7704): 线程[GAThread,5,main]: 发送命中到存储路径: https: 参数: v=1, ul=en-us, t=appview, ht =1381092665018,sr=720x1280,an=TestProject,tid=UA-xxxxxxx,aid=com.test.testproject,cid=f0a09e69-67e8-4ac0-b4b7-748be827efa7,av=1.0,_u=.r98,cd=com。 test.testproject.SecondaryActivity,

10-06 16:51:06.970: V/GAV3(7704): 线程[GAThread,5,main]: 发送命中到存储路径: https: 参数: v=1, ul=en-us, t=appview, ht =1381092666979,sr=720x1280,an=TestProject,tid=UA-xxxxxxx,aid=com.test.testproject,cid=f0a09e69-67e8-4ac0-b4b7-748be827efa7,av=1.0,_u=.98,cd=com。 test.testproject.MainActivity,

检查实时仪表板,我仍然只看到一项活动,如下所示: 检查实时仪表板,我继续只看到一项活动......

然后我注意到在右上角它默认将我的结果集过滤为仅第二个活动!

清除过滤器然后向我显示所有三个活动,如下所示: 实时显示所有 3 项活动

尽管它可能很愚蠢,但请确保谷歌的仪表板默认为您过滤,我一开始几乎没有注意到它。

如果这没有帮助,请发布一个代码示例,以便我看看发生了什么。如果您愿意,我很乐意将这个示例应用程序捆绑在一起,这样您就可以输入您的 UA ID 并自己尝试一下。

希望有帮助。

于 2013-10-06T21:11:35.897 回答