Mar*_*Bak 5 android firebase firebase-realtime-database
我有一个在离线模式下(通过调用FirebaseDatabase.getInstance().setPersistenceEnabled(true))使用Firebase数据库的应用。在数据库中,只有当其他节点的值设置为true时,用户才能访问该节点,规则如下所示:
{
"rules": {
".write": "auth != null",
".read": "false",
"mynode": {
"$dataId": {
".read": "auth != null && root.child('userAccessNode/' + auth.uid + '/' + $dataId).val() == true"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
设备连接到互联网时,它可以正常工作。但是,当我在设备上打开飞行模式时,回调addValueEventListener(ValueEventListener)不会返回任何内容-错误也没有价值,只是挂起,直到我再次打开互联网连接为止。
我确保在脱机之前都已检索到两个节点,所以我确定所讨论的节点和保存访问信息的节点都已缓存。
对于具有简单规则(例如(auth!= null))的其他节点,脱机模式可以正常工作,但在这种情况下不可行。
我做错什么了吗?你知道我该怎么做吗?脱机时(取决于其他节点的)规则评估如何工作?
| 归档时间: |
|
| 查看次数: |
607 次 |
| 最近记录: |