c# - 统一桌面应用程序中的 firebase 问题
问题描述
所以我正在为我的期末课程项目创建一个应用程序,我决定使用 Unity。我对 Unity 和 Firebase 都很陌生,但最终我设法让它全部工作。到目前为止一切都很好,但是当我构建它并对其进行测试时,我意识到 Firebase 无法正常工作。我在这个论坛上进行了搜索,我能找到的只是 Android 或 IOS 问题的解决方案,但据我所知,Firebase 也应该适用于桌面游戏。因此,在游戏数据文件夹中,我可以找到google-services-desktop.json
为我的 firebase 设置的所有数据google-services.json
。
我发现一些帖子说我应该确保在包管理器中更新了 SDK,但它甚至没有显示(可能是因为项目是 PC、Mac 和 Linux 独立平台,我猜);我发现的其他可能的解决方案与 Android 插件文件夹和“res/values/google-services.xml”文件有关,我的项目中显然没有这些文件,因为它不是 Android 游戏。我认为它应该适用于该google-services-desktop.json
文件,但也许我需要其他文件或其他东西?我已经尝试了一些东西,但我真的想不出任何解决方案。
我的游戏只使用数据库(实时数据库),它没有 Auth 也没有其他包。我主要将它用于记分牌,它可以在 Unity 编辑器中使用,但一旦构建它就不能在游戏中使用。我测试了一些修改脚本的东西,但我发现代码在初始化数据库时停止工作。这是一段代码:
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
{
var dependencyStatus = task.Result;
if (dependencyStatus == DependencyStatus.Available)
{
if (task.IsCompleted)
{
reference = FirebaseDatabase.DefaultInstance.RootReference;
if (LoadsData)
{
GetScores();
}
}
}
else
{
Debug.LogError(string.Format(
"Could not resolve all Firebase dependencies: {0}", dependencyStatus));
}
})
当我调用这个方法时脚本停止了,显然保存和加载数据的方法也不能正常工作。
该项目是PC平台,我使用的是Unity 2019.4.17f1。
如果我没有很好地解释自己,请随时提问。我希望我能得到一些帮助!
解决方案
目前 firebase 的 unity sdk 仅支持在 pc 上开发 Android 和 Ios 应用程序。桌面项目是测试版。您可以在下面找到您现在可以在桌面项目中使用的内容。 https://firebase.google.com/docs/unity/setup#:~:text=%20Firebase%20Unity%20SDK%20includes,Windows%2C%20macOS%2C%20and%20Linux。您的问题可能是这样的:“注意:Firebase Unity SDK 桌面支持是一项测试版功能。此功能仅适用于游戏开发期间的工作流程,不适用于公开发布的代码。”
推荐阅读
- css - 如何在页面滚动时使所有列标题在 ag-grid 中以角度粘贴(固定)?
- javascript - 我无法更新动态表中的总数(它显示未定义新添加的输入)
- php - 如何从从右到左的短划线符号之间提取特定文本
- leaflet - 在 Leaflet 中获取活动工具提示的文本
- python - 是否可以使用 ConfigParser 获取随机值
- google-apps-script - 在 Google 表单中添加日期范围或禁用日期
- python - 如何制作时间框架集群?
- swift - SwiftUI:如何在第一次启动时显示警报
- python - 尝试使用交叉验证时出错
- flutter - 如何将不透明度应用于散点图颤动