应用程序上的用户数量(未注销)是否与firebase上的同时连接数相等?

时间:2017-03-29 11:24:03

标签: android firebase firebase-realtime-database

我开发了一个Android应用程序,我期待超过100个用户。该应用程序确实有一个注销按钮,但我怀疑任何用户都会注销,他们会把它推到后台。 所以我的问题是,如果我有150个用户(登录,但在后台)意味着我有150个同时连接?我确实阅读了有关同时连接的几个问题,但有人可以更准确地了解并发连接。 150位用户 - 登录(后台) - 在不同时间打开应用程序 - ? 如果这将超过firebase上的免费计划,我该如何防止它?。我使用电子邮件/密码登录。

2 个答案:

答案 0 :(得分:7)

启动使用Firebase数据库的应用时,它会创建与Firebase服务器的持久连接。这被视为后端的一个活动连接。

在以下情况下可以断开连接:

  1. 用户未写入任何数据且几分钟内没有任何活动的侦听器(目前为5分钟,但可能会发生变化)。
  2. 您在代码中致电goOffline()
  3. 应用是在前台还是后台与Firebase SDK无关。但您可以使用Android生命周期事件(例如onPause())来检测此类转换并删除您的侦听器(以达到条件1)。

    此外:当您的应用程序背景化时,Android操作系统可能会随时关闭从客户端到Firebase后端的连接。这样做取决于您的设备的Android版本和风格。

    最终选项(正如Firebaser Doug在评论中指出的那样)是启用自动资源管理。如果启用自动资源管理,则客户端将在应用程序进入后台时调用goOffline(),并在返回到前台时调用goOnline()

答案 1 :(得分:1)

如果用户已登录且处于非活动状态,即未执行任何数据库操作,则它不会计入同时连接数。

同时连接是指用户应用和firebase实时数据库之间的活动连接。