首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在重新连接注销后,Firebase会同步脱机数据吗?

在重新连接注销后,Firebase会同步脱机数据吗?
EN

Stack Overflow用户
提问于 2017-08-31 02:04:19
回答 1查看 908关注 0票数 2

我有一个离线数据丢失的场景,但它似乎应该与服务器同步。

场景:

用户登录到我们的Firebase应用程序中。按照Firebase的建议,持久性是打开的:

代码语言:javascript
复制
Database.database().isPersistenceEnabled = true

如果用户在脱机时杀死应用程序并重新启动它,他/她可以继续使用该应用程序创建和查询脱机数据。当用户恢复网络连接时,数据将同步。我们在这一点上很好。

但是,如果用户在离线时退出应用程序,他/她将需要重新获得网络连接才能登录。届时,应用程序将获得一个新的身份验证令牌。但是,以前在脱机时与第一个登录会话/令牌一起保存的数据还没有同步。数据丢失了吗?或者是否有一种方法可以告诉Firebase使用以前的或新的令牌来同步离线数据?

tl;dr:

如何获得在注销之前脱机创建的firebase数据,以便在有连接时进行同步?

注:我不使用交易。我知道事务会在重新启动应用程序时丢失。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-05 17:01:18

在与Firebase的支持一起工作之后,我学到了这一点。如果您有需要对用户进行身份验证的安全规则,则如下所示。

脱机收集的数据需要身份验证令牌,以便在获得连接后将数据复制回服务器。firebase.auth().signOut()命令销毁令牌,因此用户的数据丢失。

为了避免丢失数据,您必须阻止应用程序注销,或者单独存储脱机数据,并提供一种方法使该数据在新的身份验证令牌上重新提交/同步到firebase。

这是一个充满希望的领域,Firebase将得到改善。我的想法是,Firebase应该基于用户仍然登录时使用的令牌同步数据。仅仅因为用户已注销,他/她在数据收集时就已登录,即使该用户离线。我被告知这将是一个特征请求。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45972143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档