2017-10-13 3 views
0

私は.onDisconnect()を使用して、ゲームルームでゲームを終了するユーザーを検出しています。.onDisconnect()firebaseのアイドルを無視する

これは私が作成しているターンベースのゲームなので、時にはユーザーの電話で、画面がアイドル/ブラックになったときに.onDisconnect()をトリガーします。

携帯電話のロックを解除すると、ゲームに再び参加する必要があります。アイドル状態になったときではなく、ブラウザを閉じるとき、またはブラウザがクラッシュしたときにのみユーザを切断する方法はありますか?

答えて

1

onDisconnect()ハンドラは、クライアントがFirebaseデータベースサーバから切断された直後または数分後に起動します。それは文字通りそれがするすべてのことであり、それは意味するものです。

携帯電話の画面がオフになっていることや、ブラウザがクラッシュしたことを通知するFirebaseイベントはありません。これらはFirebaseのドメインの外にあります。それがあなたがそれらの条件を検出できないことを意味するものではありません。Firebaseはそれに適したツールではありません。

通常、キープアライブを探しているようです。アプリは定期的にサーバーに信号を送信し、まだアクティブであることを通知します。サーバーがしばらくの間、このようなキープアライブを取得しない場合、クライアントが消滅したとみなされます。しかし、キープアライブ機構は、ロック画面のシャットダウンを突破して、onDisconnect()を起動する必要があります。

+0

この行に続いて、私は、画面をオンにし、モバイルをロックモードにしないようにするjavascriptを持っていることをお勧めします。 =)ありがとう! –

関連する問題