2017-10-13 62 views
0

我使用.onDisconnect()来检测用户在我的游戏室中退出游戏。为.onDisconnect()忽略空闲firebase

但是,由于这是我创建的回合制游戏,有时在用户的手机上,当屏幕变为空闲/黑色时,触发.onDisconnect()

当他们解锁手机时,他们不得不重新加入游戏。有没有办法在用户关闭浏览器时断开用户连接,或者浏览器崩溃了,而不是闲置时?

回答

1

onDisconnect()处理程序会在客户端从Firebase数据库服务器断开连接后直接或几分钟后触发。这实际上就是它所做的一切,它的目的就是要做到这一点。

没有Firebase事件表明您的手机屏幕已关闭,也没有浏览器崩溃。这些都远远超出了Firebase的域名。这并不意味着您无法检测到这些情况,只是Firebase不适合用于此目的。

一般来说,它听起来像你正在寻找一个保持活力。该应用程序会定期向服务器发送信号,表明它仍然处于活动状态。如果服务器在一段时间内没有得到保持活动状态,它会认为客户端已经消失。但任何保持活动的机制都必须突破锁屏 - 关机,触发onDisconnect()对您有用。

+0

继这一行之后,我想对我来说最好有一个JavaScript,它可以保持屏幕不会让手机进入锁定模式。 =)谢谢! –