firebase 聊天应用中的在线用户

Online users in firebase chat app

我正在使用 firebase 数据库构建一个聊天应用程序。我需要向在线用户展示,我该怎么做? 我已经试过了

connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
    connectedRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot snapshot) {
            boolean connected = snapshot.getValue(Boolean.class);
            if (connected) {

            } else {

            }
        }

        @Override
        public void onCancelled(DatabaseError error) {
            System.err.println("Listener was cancelled");
        }
    });

但是我不知道怎么用,请帮帮我

如果客户端有一个服务器要对抗,
每个客户端连接都会报告给服务器,这会增加一个计数器。 并且对于这样的增量服务器正在通知(例如使用 Firebase 数据通知消息)所有客户端。

这就是所有客户端在任何给定时间指示有多少连接的方式。

(当新用户登录时,服务器正在发送有关当前连接数的数据)

为此,您需要在 Firebase 数据库中创建一个名为 onlineUsers 的新类别。每次用户连接到您的应用程序时,将他添加到这个新创建的类别中。然后您可以查询该类别以查看确切的用户数量,如下所示:

int numberOfUsers = dataSnapshot.getChildrenCount();.

如果你需要在成员列表中为在线成员显示一个绿点,那么你需要在这个新节点中添加这些用户的方式是将id作为键,将值作为一个布尔值。默认布尔值必须是 false,这意味着用户未登录。您的新节点应如下所示:

userId1: true
userId2: false
userId3: true

每次用户登录时,将该用户的值从 false 更改为 true。要显示它们,只需相应地查询您的数据库以查看哪些用户具有 true.

的值