我使用firebase并发现并发出firebase没有发送超时错误或者如果无法连接到服务器。在这种情况下,我们无法向用户提供正确的信息。
Firebase开发人员必须处理这个非常常见的用例。有人遇到过这个问题吗?
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot data) {
}
@Override
public void onCancelled(FirebaseError arg0) {
}
答案 0 :(得分:6)
利用.info/connected
监控连接状态。 Firebase在离线时工作,您的onCancelled事件不会被触发,因为它仍在等待恢复连接,因此可以传递消息。
Firebase是一个实时同步平台。没有任何互联网访问,您无法保持数据同步(如何协调本地和远程?)。所以你需要利用磁盘持久性(在iOS上测试版)或至少有一个初始连接来让事情发生变化。有关所有这些主题的详细信息,请查看offline capabilities。