【问题标题】:Why is the Firebase SDK for unity bigger then what it says in the Firebase website?为什么 Firebase SDK for unity 比它在 Firebase 网站上所说的要大?
【发布时间】:2020-07-14 19:48:00
【问题描述】:

我正在使用 Firebase 创建一个新项目,当我点击下载 SDK 时,上面写着它大约为 300 MB,但下载大小为 2.2 GB。 我只需要一个包,有没有办法单独下载包?

【问题讨论】:

    标签: firebase unity3d sdk


    【解决方案1】:

    我会分几个部分回答这个问题:

    1. 可以通过here 提交错误,包括 Firebase 仪表板中的错误。
    2. 单独下载包的最佳方式是通过 Unity 包管理器 (follow these steps)。
    3. 为什么它这么大(以及必然,为什么它在 Unity 包管理器、源代码控制等中没有那么大):

    SDK 的大小归结为两个因素:

    1. 每个 unitypackage 都包含它所依赖的所有包。因此,像FirebaseCore 甚至FirebaseAnalytics 这样的常见逻辑会被重复包含。这大大简化了集成逻辑(Unity 足够聪明,不会导入您已经导入的代码,但不够聪明,如果您忘记了有条件地拉入其他 unitypackage 文件)但会扩大 SDK 的大小(它本质上是一个 zip 的 zip 文件文件,每个文件都包含冗余数据)。

    2. Unity SDK 实际上是在open source C++ SDK 之上构建的。由于没有将 C++ 构建集成到 Unity 构建系统的好方法,这意味着每个库和每个支持的架构都包含适用于 iOS、Android、MacOS、Windows 和 Linux 的每个 SDK 的冗余副本。 Firebase SDK 本身支持 Unity 5 系列的版本,这也意味着 Unity 本身已放弃支持但仍会从 Firebase 获得更新的 C++ 平台和工具链。

    那么为什么 Unity 包管理器集成更小?

    UPM 是 built on top of NPM,这意味着只会下载您需要的确切 Firebase 库。这意味着您无需下载 .NET 3.x 兼容库或 Firebase Core 的 10 个副本。这些包还存在于 Unity 中一个单独的 Library 目录中(您不应该将其保留在版本控制中 - 节省空间),并且可以根据需要按需下载(从技术上讲,它们也存在于您的 package cache用户目录)。

    希望对您有所帮助!任何关于您希望如何进一步改进的 cmets/建议都可以提交为 a feature requestUnity Quickstart 上的问题。

    【讨论】:

    • 谢谢,这很有帮助。他们不应该在那里保留旧信息,因为这可能会误导人们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 2017-07-14
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    相关资源
    最近更新 更多