Unity 中的 Firebase - 禁用持久性

2023-12-01

我正在使用 Firebase 制作 Android 手机游戏。该游戏有一个系统,允许玩家离线玩并根据保存的日期时间从数据库更新/检索数据。

该日期时间(写入本地文件中)应该与数据库中保存的日期时间相同,为此,我编写了以下内容:

reference.Child("users/"+this.id+"/updateDate").SetValueAsync(updateDate).ContinueWith(task =>
{
    if (task.IsCompleted) {
        Debug.Log("Setting new update date into file: "+updateDate);
        this.lastUpdateDate = updateDate;
        WriteFile();
    }
});

问题是,即使没有互联网连接,该值也会被修改,但下面的条件永远不会满足,所以会发生这样的情况: 如果您读取该值,即使没有互联网连接,您也会读取“新”日期时间,而文件仍然包含“旧”日期时间(数据库中实际存在的日期时间)。

我知道最好的解决方案是删除所有内容并让离线持久性发挥作用,但我做了一些测试,它甚至在 Android 的构建上不起作用。所以我的问题如下:

有没有办法在Unity中禁用离线持久性?

因为我已经尝试过“FirebaseDatabase.DefaultInstance.setPersistenceEnabled(假)”但似乎该函数甚至不存在于 Unity 的 API 中(它给了我编译错误)。

谢谢您的帮助!


要禁用持久性,请执行以下操作:

Firebase.FirebaseDatabase.DefaultInstance.SetPersistenceEnabled(false);

如果您在使用 2 个编辑器测试 Unity 时遇到“无法初始化持久存储”崩溃的问题,请执行以下操作:

#if UNITY_EDITOR
  Firebase.FirebaseDatabase.DefaultInstance.SetPersistenceEnabled(false);
#endif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 中的 Firebase - 禁用持久性 的相关文章

随机推荐