Google Analytics for Android问题与dispatch()

ami*_*hgc 7 android google-analytics

使用谷歌分析为Android,如果我使用

tracker.start("UA-YOUR-ACCOUNT-HERE", 20, this)

然后每隔20秒,即使我不手动使用,也会自动发送事件

tracker.dispatch()
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果用户在20秒内退出我的应用程序会发生什么?它会被派遣吗?

或者我必须在用户尝试退出时手动调度所有待处理事件?

Ale*_*cas 6

您无需执行任何操作 - 事件将被存储,并将与应用程序中发生的下一次调度(可能是下次用户启动应用程序时)混为一谈.

请注意,Google Analytics服务器根据收到数据的时间戳记时间戳,而不是基于事件实际发生的时间 - 因此,如果您的用户每天使用该应用程序几分钟,那么10日发生的访问可能会显示在Google Analytics上第11等

更新:为了澄清tracker.stop()被调用时的行为,它不会在该点发送待处理事件.它们保留在内部sqlite数据库中,并且是第一个在下次运行应用程序时调用调度时出去的数据库.当跟踪器停止时它们没有被触发的原因是它会为被销毁的Activity增加时间,使得应用程序在退出时感觉不那么"活泼".这也是您在调用onDestroy方法之前应该仔细考虑的原因.


Joh*_*nik 4

tracker.stop() 不发送数据。我的建议是将 tracker.dispatch() 也放在 onDestroy() 方法中

  @Override
  protected void onDestroy() {
    super.onDestroy();
    tracker.dispatch();
    // Stop the tracker when it is no longer needed.
    tracker.stop();
  }
Run Code Online (Sandbox Code Playgroud)

来源: http ://www.google.com/support/forum/p/Google%20Analytics/thread?tid=70a919f5b097f5dc&hl=en

  • 这真的是最好的方法吗?当用户离开时,在后台执行操作?对我来说,更合乎逻辑的是,停止的呼叫属于那里,而不是调度的呼叫。 (2认同)