嗨,我可以在用户在线或使用安卓中的Firebase时显示用户状态吗?



如何使用 Firebase 显示用户在线状态,反之亦然?你能给我在安卓上实现的示例项目或应用程序示例吗?

实现此目的的一种简单方法是在 Firebase 数据库中创建一个新节点来保存所有在线用户,因此当用户打开应用时,您需要立即将其 ID 添加到这个新创建的节点中。然后,如果您想检查用户是否在线,只需检查该节点下是否存在他的特定 ID。

另一种方法是为数据库中的每个用户添加一个名为isOnline的新属性,然后相应地使用它。为此,我建议您使用Firebase的内置onDisconnect()方法。它使您能够预定义客户端disconnected后立即发生的操作。

有关状态,请参阅 Firebase 文档。

您还可以检测用户的连接状态。对于许多与状态相关的功能,了解应用何时onlineoffline非常有用。Firebase 实时数据库在以下位置提供了一个特殊位置:

/.info/connected`

每次 Firebase 实时数据库客户端的连接状态更改时都会更新。以下是官方文档中的示例:

DatabaseReference connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
connectedRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
boolean connected = snapshot.getValue(Boolean.class);
if (connected) {
System.out.println("connected");
} else {
System.out.println("not connected");
}
}
@Override
public void onCancelled(DatabaseError error) {
System.err.println("Listener was cancelled");
}
});

最新更新