我正在使用firebase realtime database
开发一个Android应用程序。我想要2个解决方案。
1)现在我无法获得任何用户活动数量的数据(并发用户)。
2)如果有任何降低连接限制的选项。像现在一样
我花了更多的时间,但没有结果。
我希望你能给我一个解决方案。
谢谢...
如果您想知道连接了多少用户,则需要detect the connection state
。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");
}
});
/。info/connected是一个布尔值,在实时数据库客户端之间未同步,因为该值取决于客户端的状态。换句话说,如果一个客户端读取/.info/connection为false,则不能保证单独的客户也会读取false。
这也是我推荐的一篇文章,您可以阅读以更好地理解。
关于第二个问题,如果您将达到每秒写入的最大写入数量,这并不意味着您将无法再使用Firebase数据库。当第1001次同时连接发生时,创建了一个操作队列,而firebase将等到一个连接关闭,并且使用您的新连接。