firebase - 如何在 Firebase 服务器上上传资产包?google 提供服务器上传可用于android / IOS 平台游戏的资产包?
问题描述
我已经从统一生成了资产包,我正在尝试将其上传到谷歌服务器,很可能我期待 firebase 提供这样的服务。我从过去两天开始尝试,但我没有找到将资产包上传到 Firebase 服务器的解决方案。而且我不确定谷歌是否为我们可以上传资产包文件的 android / IOS 游戏提供服务器服务。我还需要了解上传它的机制。
我过去尝试过亚马逊服务器,效果很好,但我想知道谷歌是否也提供这样的服务,如果它更有可能被使用的话。
简单代码(标准)用于从服务器下载资产包。
我想知道在firebase服务器或google服务器上从unity上传资产包文件的机制,当然我想听听与亚马逊服务器的比较。我还想在下载时获取下载资产包大小的百分比,以便用户可以知道他下载了多少数据以及剩下多少。
解决方案
我所知道的 Firebase 中没有完整的端到端集成,用于从编辑器上传 AssetBundle 并将它们拉到客户端中。您可以使用Firebase Cloud Storage SDK。我将简要概述如何使用它。
我喜欢使用 AssetBundle Browser 来构建我的包:
而且,使用网络上的Firebase 控制台,我可以将这些文件上传到 Cloud Storage 存储分区。对于大多数简单的游戏,我只是镜像这个目录布局:
上传数据后,您可以使用我之前提到的 Cloud Storage SDK获取 URL :
// Create a reference from a Google Cloud Storage URI
Firebase.Storage.StorageReference reference =
storage.GetReferenceFromUrl("gs://bucket/AssetBundles/Android/samplescene.manifest");
// Fetch the download URL
reference.GetDownloadUrlAsync().ContinueWith((Task<Uri> task) => {
if (!task.IsFaulted && !task.IsCanceled) {
Debug.Log("Download URL: " + task.Result());
// ... now download the file via WWW or UnityWebRequest.
}
});
获得所有 URL 后,您可以使用自己喜欢的方法将它们加载到 Unity中。
如果您不想使用 Unity 的缓存以及将它们直接放入内存中,云存储当然有一些方法可以直接下载到文件。
现在,我提到没有任何端到端的解决方案可以将您的资产包上传到 Firebase。如果您想构建自己的管道来实现自动化,则可以使用Uploading API和Admin SDK 。
我希望这一切都有帮助!
推荐阅读
- node.js - 处理多个流
- flutter - 将数据从 AlertDialog 传递到同一屏幕
- .net - .net c# EF 模型中的空嵌套对象
- javascript - API 和路由器是两个不同的东西吗?
- php - 具有持久数据库连接的 PHP-FPM 是否有效?
- flutter - Flutter FadeTransition 和背景滤镜
- powershell - MSIEXEC - 带变量的参数列表
- python - 如何在 django 中返回文件
- node.js - 在 Node typescript 中使用 jest 模拟 Stripe API
- c++ - std::shared_ptr 在 std::function 回调之间丢失