分析sendEvent不发送数据

时间:2013-06-10 14:47:22

标签: android google-analytics

我一直在尝试使用Google Analytics(分析)库v2发送事件的多个实现,但没有人将数据发送到我的Google Analytics信息中心。

应该运行的最简单的实现是

EasyTracker.getTracker().sendEvent("Social", "Opened Share App", "Clicked", (long) 1);
EasyTracker.getInstance().dispatch();

活动和屏幕之类的其他内容跟踪得很好。

我也试过使用:

mGaInstance = GoogleAnalytics.getInstance(this);
mGaTracker = mGaInstance.getTracker("UA-XXXXXX-X");

然后使用该跟踪器发送事件,但这也不会发送数据。我还读到了需要超过24小时才能注册的活动。这真的很奇怪,因为分析中的其他内容基本上都是即时的,这是真的吗?我没有找到任何确认。

在analytics.xml中打开调试后,logcat

中会出现以下内容
putHit called
Sending hit to store
PowerSaveMode terminated.
Thread[GAThread,5,main]: dispatch running...
User-Agent: GoogleAnalytics/2.0 (Linux; U; Android 4.1.1; nl-nl; HTC One X Build/JRO03C)
Host: ssl.google-analytics.com
GET /collect?ul=nl-nl&ev=1&ht=1370875183876&sr=720x1280&a=72697680&aid=com.package.android&ea=Opened+Share+App&cid=8e7dc0b4-d03c-4ccb-8bed-f549f16a1b1d&ec=Social&av=0.1.1&v=1&t=event&el=Clicked&an=My+App&tid=UA-XXXXXX-X&_u=.C&_v=ma1b5&cd=com.package.android.ActivityAbout&qt=39&z=103 HTTP/1.1

所以它似乎正好调度好了吗?

3 个答案:

答案 0 :(得分:6)

正如我已经评论过的那样,我们让EasyTracker处理数据发送问题。这不是解决方法,而是一种解决方法。

文档:EasyTracker Parameters

我在res / values中创建了analytics.xml文件。我的analytics.xml文件是这样的:

<resources>
  <!--Replace placeholder ID with your tracking ID-->
  <string name="ga_trackingId">UA-********-*</string>
  <!--Enable automatic activity tracking-->
  <bool name="ga_autoActivityTracking">true</bool>

  <!--Enable automatic exception tracking-->
  <bool name="ga_reportUncaughtExceptions">true</bool>

  <!--  dispatch period in seconds.
    Default value is 30 minutes, should set about 5 minutes in release mode.
  <bool name="ga_debug">true</bool>
  <integer name="ga_dispatchPeriod">3</integer>
   -->

  <integer name="ga_dispatchPeriod">300</integer>
</resources>

ga_dispatchPeriod值以秒为单位。我们使用3秒进行调试,使用300秒进行发布模式。 ga_dispatchPeriod的默认值为30分钟。

答案 1 :(得分:3)

好的,所以答案非常愚蠢。我在23:45左右回到修复这个问题,但仍在努力寻找答案。然后时钟转了00:07我刷新了... Tadaa,前一天突然出现了73个事件......

Events in analytics

所以,是的,如果其他人有同样的问题。我问题中的第一段代码就可以了。

EasyTracker.getTracker().sendEvent("Social", "Opened Share App", "Clicked", (long) 1);
EasyTracker.getInstance().dispatch();

实际上不需要调用调度方法,也不能帮助显示任何更早的内容。只需使用默认值,或者您可以阅读更多here

答案 2 :(得分:0)

使用Google Analytics社交互动API

Tracker tracker = EasyTracker.getInstance(getActivity()
                    .getApplicationContext());

tracker.send(MapBuilder.createSocial("Twitter", "Tweet",
                    "https://developers.google.com/analytics").build());

Google Analtyics Social Interactions - Android SDK