2017-10-13 111 views
0

我使用.onDisconnect()來檢測用戶在我的遊戲室中退出遊戲。爲.onDisconnect()忽略空閒firebase

但是,由於這是我創建的回合制遊戲,有時在用戶的手機上,當屏幕變爲空閒/黑色時,觸發.onDisconnect()

當他們解鎖手機時,他們不得不重新加入遊戲。有沒有辦法在用戶關閉瀏覽器時斷開用戶連接,或者瀏覽器崩潰了,而不是閒置時?

回答

1

onDisconnect()處理程序會在客戶端從Firebase數據庫服務器斷開連接後直接或幾分鐘後觸發。這實際上就是它所做的一切,它的目的就是要做到這一點。

沒有Firebase事件表明您的手機屏幕已關閉,也沒有瀏覽器崩潰。這些都遠遠超出了Firebase的域名。這並不意味着您無法檢測到這些情況,只是Firebase不適合用於此目的。

一般來說,它聽起來像你正在尋找一個保持活力。該應用程序會定期向服務器發送信號,表明它仍然處於活動狀態。如果服務器在一段時間內沒有得到保持活動狀態,它會認爲客戶端已經消失。但任何保持活動的機制都必須突破鎖屏 - 關機,觸發onDisconnect()對您有用。

+0

繼這一行之後,我想對我來說最好有一個JavaScript,它可以保持屏幕不會讓手機進入鎖定模式。 =)謝謝! –