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
.
的值
我正在使用 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
.