本文档将大略介绍 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. }