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

How exactly do Firebase Analytics handle session duration / timeouts?

我第一次在 Android/iOS 应用程序中使用 Firebase Analytics 实现一些基本使用情况统计,但文档对我来说似乎有点模棱两可,说明会话持续时间的精确计算方式以及会话的计时方式out, 24 小时周期看结果无助于通过试错来理解。

我现在只对一个非常简单的统计数据感兴趣 - 用户在应用中花费的时间。当应用程序处于 "minimised"/"in the background" 时究竟发生了什么 - 这算作活跃使用还是与应用程序关闭相同 - 现在不是那么重要,但如果你有什么要补充的考虑到问题的背景,请做。

据我所知,这样一个简单的统计数据应该可以通过 Firebase Analytics 开箱即用,所以我目前没有使用任何自定义事件或任何比简单地将 Firebase Analytics 链接到项目中更高级的东西,添加配置文件,并调用 FirebaseAnalytics.getInstance(this);在 Android 和 [FIRApp 配置] 上;在 iOS.

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

但我不清楚的是,用户会话确切何时过期 - 只要应用程序打开,Firebase 会自动保持打开状态,还是我需要确保 post 一些人为的"keep-alive" 事件以防止用户会话在用户仍在实际使用应用程序时过期。

假设如下:

  1. 我没有使用 Firebase 发送明确的自定义事件,因为这不是 应用程序明确要求。
  2. 我在应用程序的单个 运行 期间只接触过一次 Firebase - 在启动时对其进行初始化。
  3. 用户在应用程序中停留了很长时间(比方说 2 小时 - 比默认的 30 分钟会话超时长得多),而没有与之交互 - 例如阅读内容、观看视频等,none 会生成 Firebase 可以看到的任何事件,但该应用会阻止屏幕锁定,该应用仍处于前台。

对于用户来说,这算作一个 2 小时的会话吗?它只会算作 30 分钟的会话,因为会话在 30 分钟后过期并且没有生成任何事件来保持它的活动吗?还会有其他事情发生吗?

附加问题:如果用户退出应用程序的时间比会话超时时间 shorter/longer 会怎样?

奖金奖金问题:如果不是退出应用程序,而是简单地放入后台,会有什么变化吗?

谢谢!

快速回答:您描述的场景将导致一个 2 小时的会话。

会话基于应用的 activity 是当前 activity 的时间。无需发送事件;从 activity 恢复到暂停的时间计为参与时间。在一个小时的持续参与结束时,将记录一个参与事件,但这不会结束会话。当 none 的应用程序活动是当前 activity 的连续时间段(默认情况下为 30 分钟)时,会话过期。 如果用户退出应用程序的时间比会话超时时间短,然后重新启动它,会话将继续。如果用户退出应用程序的时间超过会话超时时间,则会话结束。退出应用程序和将其置于后台之间没有任何变化。如果这不是用户正在查看的内容,则该应用的参与度不算 运行.