Android:我可以在Service中使用Google Analytics吗?

10

我有一个应用程序,大部分时间作为服务在后台运行。网上有很多关于如何使用EasyTracker库和Google Analytics API来跟踪多个Activity的示例和教程,但没有一个解释如何在Service中使用Google Analytics API的。这是否可能?


你在这方面有发现什么吗? - Vlad
我刚刚翻译了。请看下面的答案 :) - Vlad
2个回答

5

好消息!你可以做到,而且很容易。

你需要应用程序上下文,我们称之为 mCtx。当你拥有它时,你需要一个 GoogleAnalytics 实例,你可以通过调用以下方法来获取它:

GoogleAnalytics mGaInstance = GoogleAnalytics.getInstance(mCtx);

现在您需要设置任何想要的参数(通常在使用EasyTracker时会放在analytics.xml中)。

现在您需要一个跟踪器实例:

Tracker mTracker = mGaInstance.getTracker("UA-XXXX-Y"); // your ID here

基本上就是这样了...现在你可以使用这个跟踪器发送事件

mTracker.sendEvent(....);

希望这可以帮助你。这是非常基础的,但GoogleAnalytics和Tracker替代了EasyTracker。
您可以在这里阅读更多信息: 高级配置 - Android SDK 请注意,在看到GA网站上的报告之前,可能需要最多24小时...所以要有耐心 :) 或者使用mGaInstance.setDebug(true)在logcat中查看是否已发送。

嘿,这很聪明!谢谢,我会试一下的。 - Anton Cherkashyn
请注意,在您在GA网站上看到报告之前,可能需要长达24小时的时间。所以要耐心等待 :) 或者使用mGaInstance.setDebug(true)在日志中查看是否已发送。 - Vlad
嗯,有趣。我开始查看V2 Analytics SDK,似乎自第一个版本以来已经进行了很多更改。我将不得不再次学习它 :) - Anton Cherkashyn

3
我建议你在非常确定自己在做什么时才这样做。
我已经在我的服务中实施了GA事件,但它破坏了我许多GA统计数据,如会话持续时间、新会话的每日百分比、每日会话等等。 GA认为事件是在屏幕视图之后发生的,因此它将GA事件推送到屏幕名称“(未设置)”。 由于服务经常在后台运行,最终导致各种统计数据损坏。 实时显示活跃用户的功能也出现了问题。

在v3中,您可以在同一应用程序内使用不同的跟踪器。这可以解决这个问题。 - Loda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接