检查用户是否在线使用 Firebase 制作的聊天应用

pra*_*205 3 javascript php firebase codeigniter-3 firebase-realtime-database

使用 Firebase 的实时数据库创建聊天应用程序。

用户类看起来像这样(Firebase 中默认为 JSON)

"users" : {
     "-K2ib62mjHh34CAUfig" : {
      "lastvisibleat" : "2016-09-30 07:10:40",
      "name" : "Peter Parker",
      "online" : "1"
    },
    "--K2ib62mjHh34CAUh18" : {
      "lastvisibleat" : "2016-09-30 07:26:17",
      "name" : "Riddhi Dixit",
      "online" : "1"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想从更改状态online: "1",以online : "0"当用户的互联网突然得到了自己的不可用或浏览器崩溃或东西本身是不能办理sess_destroy()笨的方法。

服务器是使用 CodeIgniter 在 PHP 中构建的。

小智 7

我建议使用 Firebase 的内置onDisconnect()钩子。它使您能够预定义在客户端断开连接时将立即发生的操作。

请参阅 Firebase 文档: 管理 Web 客户端的在线状态

链接的文档面向 Web 客户端,但同样的功能也可用于AndroidiOS客户端。