gpt4 book ai didi

c# - Unity 中的 Firebase - 禁用持久性

转载 作者:行者123 更新时间:2023-12-04 14:00:54 26 4
gpt4 key购买 nike

我正在使用 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();
}
});

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

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

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

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

谢谢您的帮助!

最佳答案

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

Firebase.FirebaseDatabase.DefaultInstance.SetPersistenceEnabled(false);

如果您来自 Google,在使用 2 个编辑器测试 Unity 时出现“无法初始化持久性存储”崩溃,请执行
#if UNITY_EDITOR
Firebase.FirebaseDatabase.DefaultInstance.SetPersistenceEnabled(false);
#endif

关于c# - Unity 中的 Firebase - 禁用持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45782602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com