【问题标题】:Are we able to write data and read data using Firebase when we are offline from unity当我们从统一离线时,我们是否能够使用 Firebase 写入数据和读取数据
【发布时间】:2017-11-02 02:28:05
【问题描述】:
  • 我正在使用最新版本的 unity 和 firebase。

  • 我需要在 unity 中使用最新 Firebase 的离线功能。

  • 是否可以离线读写数据。

  • 一旦我们读取或写入数据或对本地进行任何更改,当我们上线时,这些更改是否会在主服务器中实施

【问题讨论】:

    标签: c# firebase firebase-realtime-database unity5


    【解决方案1】:

    firebaser 在这里

    Unity 的大多数 Firebase 绑定都封装了适用于 iOS 和 Android 的底层 SDK,在这种情况下,公开磁盘持久性 API 应该相当容易。

    适用于 Unity 的 Firebase 数据库 SDK 遵循不同的模型,其中大部分代码实际上是直接用 C# 编写的。虽然这在很多情况下都很棒,但这意味着我们决定不在 C# 中实现磁盘持久性。

    请注意,Firebase 的网络弹性在 Unity 上运行。因此,只要应用程序保持活动状态,如果网络连接断开,Firebase 就会继续运行。在这种情况下,它会为缓存中的任何读取提供服务,并保留待处理的写入队列。但目前不支持磁盘持久化,这将允许缓存和队列在应用重启后仍然存在。

    【讨论】:

    • 嗯....再想一想:我想知道为什么 Unity 没有记录这一点。我也没有在参考文档中看到启用磁盘持久性的方法。我要四处打听,我会回来报告的。
    • 同时,您能否提供除 firebase 文档之外的任何文件,告诉您如何通过 unity @Frank van Puffelen 从 firebase 写入和读取数据
    • 原来我最初的评估是错误的:Unity SDK 目前不支持磁盘持久性。对于那个很抱歉。我推荐filing a feature request。我已经这样做了,但更多的选票从未受到伤害。
    • 如果我执行写操作,是否会在网络不可用期间为读取本地缓存提供该写操作?删除?变化?
    • 是的。当应用程序处于活动状态时,它会将活动数据(您也有一个侦听器,或设置为保持同步)保留在内存中,并保留一个待处理的写入队列。将从该组合中提供读取操作,以确保一致的视图。这里需要注意的是,安全规则仅在服务器端强制执行,因此您的客户端代码可能会暂时看到无效数据(根据您的安全规则)并需要相应地处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    • 2017-01-15
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多