Firebase Analytics如何处理会话持续时间/超时?

10

我正在使用Firebase Analytics在Android/iOS应用程序中首次实现一些基本的使用统计,但是文档对于会话持续时间的计算和会话超时的精确方式似乎有点模棱两可,而且为了理解试错,24小时循环看结果并没有帮助。

目前我只对一个非常简单的统计数据感兴趣——用户在应用程序中花费的时间。当应用程序“最小化”/“在后台”时会发生什么——这是否算作活动使用或与应用程序关闭相同——并不太重要,但如果您在问题的上下文中有什么补充,请添加。

据我所知,Firebase Analytics应该可以提供这样一项简单的统计数据,因此我当前没有使用任何自定义事件或比将Firebase Analytics链接到项目、添加配置文件并在Android上调用FirebaseAnalytics.getInstance(this); 和在iOS上调用[FIRApp configure]; 更花哨的东西。

我看到first_open、session_start和app_remove事件按预期显示在控制台中,仪表板中也显示了一些聚合会话数据等等,我还知道有可配置的会话超时。

但是让我困惑的是,用户会话何时过期——Firebase是否会自动保持会话处于打开状态,只要应用程序处于打开状态,还是我需要确保发布一些人工的“保持活动”事件,以防止用户会话在用户仍然正在使用应用程序时过期。

假设如下:

  1. 我不使用Firebase发送任何显式的自定义事件,因为这不是应用程序明确要求的。
  2. 我只在单次运行应用程序时初始化Firebase。
  3. 用户长时间保留在应用程序中(比默认的30分钟会话超时时间长得多,假设为2小时),而没有与之交互,例如阅读、观看视频等,这些都不会生成Firebase可见的任何事件,但应用程序会防止屏幕锁定,应用程序仍然在前台运行。

这会算作用户的单个2小时会话吗?还是因为会话在30分钟后过期且没有生成事件以保持其活跃,因此仅计为30分钟会话?还会发生其他事情吗?

额外问题:如果用户退出应用程序的时间比会话超时时间短/长会发生什么?

额外额外问题:如果不是从应用程序退出,而只是将其置于后台,是否会发生变化?

谢谢!


一些相关文档:会话计算 关于新会话功能的博客 - Kato
1个回答

13
简短回答:您所描述的情况将导致一次为期2小时的会话。
会话是基于应用程序活动时的时间计算的。无需发送事件;从活动恢复到暂停的时间段被视为参与时间。在连续参与一个小时后,将记录参与事件,但这并不会结束会话。会话在应用程序的所有活动都不是当前活动的连续时间段(默认为30分钟)后过期。
如果用户退出应用程序的时间比会话超时时间短,并重新启动它,则会话继续。如果用户退出应用程序的时间超过会话超时时间,则会话结束。退出应用程序并将其放入后台之间没有变化。如果不是用户正在查看的内容,则运行应用程序不算作参与。

1
听起来不错,但你有证据吗?我的意思是,你有安卓文档的参考资料或者做过任何研究吗? - Kirill Karmazin
1
以下是关于编程的内容的翻译,仅返回翻译后的文本:PS. 这是一个公共文档,确认了上面提到的一些信息: https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics - Dan Morenus
这是另一个更详细的文档:https://support.google.com/firebase/answer/9191807?hl=en - Dan Morenus

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