Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 离线模式下的Firebase实时数据库不一致行为大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的应用中使用Firebase实时数据库.它运作得很好,我对此非常满意.但最近我碰到了一个边缘案例,因为我的一些用户正在丢失他们的数据.

场景#1

用户使用Internet连接登录应用程序(Firebase身份验证),并将一些数据添加数据库.

用户通过互联网连接注销,然后再次登录,之前存储的数据按预期存在.互联网连接可用,数据已同步到服务器.

情景#2

现在用户关闭了他/她的互联网连接.在互联网连接关闭时,向数据库添加更多数据并注销应用程序.

现在,用户重新打开他/她的互联网连接,并以与上面完全相同的方式登录应用程序.

现在,用户看不到应用程序处于脱机模式时添加的任何数据.我有setPersistenceEnabled(true),它在正常情况下完美运行.

问题

问题是当用户处于脱机模式时,持久性会失败,将一些数据添加数据库(由于没有互联网而不会同步到服务器),并在离线模式下注销,然后再次登录.

这是一个边缘案例,但我的一些用户已经面临这种情况,并且由于这个错误而丢失了他们有价值的数据.如何解决这个问题?它是Firebase数据库认行为吗?如果是这样,有什么解决方法吗?

解决方法

通过我的应用程序,它的确如此.

来自Firebase文档
https://firebase.google.com/docs/database/android/offline-capabilities


如果@R_482_9616@使用Firebase身份验证,则客户端将在重新启动时保留用户的身份验证令牌.如果在@R_482_9616@程序脱机时auth令牌到期,客户端将暂停我们的写入操作,直到我们重新进行身份验证,否则我们的写入可能会因安全规则而失败.
..

这意味着如果您在联机时退出应用程序,则应用程序不会在签出之前同步您进行身份验证的条目.

只有选项不会离线注销​​.

大佬总结

以上是大佬教程为你收集整理的android – 离线模式下的Firebase实时数据库不一致行为全部内容,希望文章能够帮你解决android – 离线模式下的Firebase实时数据库不一致行为所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。