我实施了谷歌登录并在数据库中设置规则:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
}
}
}
}
当我登录刚刚安装的应用程序并尝试保存价值时,效果很好。然后离开应用程序一小时左右后,新值似乎只存储在本地,永远不会在云数据库中更新。如果我在另一部手机上以同一用户身份登录,我也可以看到它 - 本地数据库不同,并且它们没有上传到云端。关闭应用程序并重新启动并没有帮助。只有在注销后 - 登录才会再次开始保存数据,但过了一段时间后问题会重复出现。
存储我使用的值:
firebaseDatabase.reference
.child("users")
.child(firebaseAuth.currentUser?.uid)
.child(userWord.word)
.setValue(userWord)
当前用户及其uid不为空且值正确。我做错了什么?我是否需要进行任何令牌刷新并导致问题? 根本没有调用Completition侦听器,但是上面的查询附加的值事件侦听器被触发了。我也用
firebaseDatabase.setPersistenceEnabled(true).
我添加了连接侦听器并发现在应用程序重新启动之后firebase没有连接,直到我注销/登录。我如何重新连接firebase?调用" FirebaseDatabase.getInstance()。goOnline()"似乎不起作用。
如果有人能帮助我解决这个问题,我将非常感激。