本文档介绍了旧版 Android SDK。如果您是刚接触 Analytics(分析)的新手,请使用最新的 SDK。了解详情

会话 - Android SDK v2(旧版)

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本文档简要介绍了 Google 移动应用分析和 Android 版 Google Analytics(分析)SDK v2 中的会话,并介绍了各种可用于管理应用中的会话的方法。

概览

会话是指用户与应用的一次互动。会话是衡量的活动(包括屏幕浏览、事件和电子商务交易)的有用容器。

默认情况下,Google Analytics(分析)会将在 30 分钟内收到的命中归到同一个会话中。但是,许多开发者可能希望实现一个额外的会话管理层,考虑其应用的状态,例如应用处于后台和运行时长。

本文档的其余部分将介绍可用于实现该逻辑的方法。具体选项包括 EasyTracker 提供的全自动会话管理、手动构建您自己的会话管理逻辑或综合使用这两种方法。

管理会话

下一部分将介绍可用于管理应用中的会话的方法。

使用 EasyTracker 实现自动会话管理

EasyTracker 提供自动化的会话管理功能,可为您处理启动新会话的工作。下面概述了自动会话管理的工作原理:

  • 默认实现的会话超时时长为 30 秒。您可以通过修改 analytics.xml 文件中的 ga_sessionTimeout 参数来更改超时期限:
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • 如果应用在后台会话中持续超过会话超时时长,则 EasyTracker 会标记对新会话的需求,并且下一次命中将成为新会话的一部分。

手动会话管理

即使您使用的是 EasyTracker 的自动会话管理,在应用的生命周期内发生关键事件时手动启动新会话可能也会很有用。

例如,您可能希望在每次用户成功登录您的应用时手动启动新会话。由于用户使用该应用的意图可能发生了变化,或者可能是一个不同的用户算法,因此在登录时启动新会话有助于将使用情况数据分开并且更轻松地在报告中显示。

如需启动新会话,请调用 setStartSession(true)。执行此操作后,系统会向下一次发送的命中添加参数,以指明应启动新会话。

在下面的示例中,我们假设每当用户成功登录您的应用时,系统都会调用 onSignIn()

// Called after a user successfully signs in to your app.
private void onSignIn() {
  ... // The rest of your onSignIn() code.
  myTracker.setStartSession(true); // Where myTracker is an instance of Tracker.
  myTracker.sendEvent("app_flow", "sign_in", "", null); // First activity of new session.
}