应用关闭后,Firebase数据库会断开连接,并且在注销/登录之前永远不会再次连接

时间:2018-03-06 17:36:24

标签: android firebase firebase-realtime-database kotlin firebase-authentication

我实施了谷歌登录并在数据库中设置规则:

{
"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()"似乎不起作用。

如果有人能帮助我解决这个问题,我将非常感激。

0 个答案:

没有答案