使用REST (Firebase)时的脱机功能

Offline capabilities when using REST (Firebase)

本文关键字:脱机 功能 REST Firebase 使用      更新时间:2023-10-16

所以我在文档中找到了这个:

每个共享Firebase的客户端都维护自己的内部版本的活动数据。当数据更新或保存时,它被写入Firebase的这个本地版本。然后,Firebase客户端以"尽力而为"的方式与Firebase服务器和其他客户端同步该数据。

因此,所有对Firebase的写入都将立即触发本地事件,甚至在任何数据被写入服务器之前。这意味着无论网络延迟或互联网连接如何,应用程序都将保持响应。

一旦连接重新建立,我们将接收适当的事件集,以便客户端"赶上"。使用当前服务器状态,而无需编写任何自定义代码。

是的,我得到了这个,但更具体地说(我找不到答案):

我在c++程序中使用REST -API,该程序执行curl -请求。到目前为止一切正常。对于插入来说,这不是什么大问题。如果出现错误,我可以通过redis或其他东西轻松存储数据并稍后更新它们,但是如何读取工作?

给你一个场景:

我做了一个扫描仪,它可以识别ID。在此过程之后,它被插入(如上所述)到Firebase中。人们也可以在有关主页上注册(并手动插入他们的ID)。这也将保存在Firebase中。

Firebase被设计为通过访问数据库从一个端点向另一个端点提供数据,这很好。在站点上注册并插入到数据库中的用户。突然,我的网络断了。

有没有办法得到最后一个"stack"还是在连接断开之前使用的"完整数据集"?是否有一种方法来复制DB和队列作业,这些作业将在连接重新建立后同步?

免责声明:我为Firebase工作。

你上面引用的段落具体指的是我们维护的客户端库(目前在Objective-C, Java和JavaScript中)-这是我们编写的代码片段,您将在应用程序中运行。

在这种情况下,您没有使用客户端库—您只是访问我们的常规REST端点,因此您不会获得任何好处。实现自己的客户端将是一项重大的任务;客户端代码维护数据的内部视图,在离线时进行补偿,触发本地事件等。