无需下载包含 .NET 3.X 和 .NET 4.X 的所有.unitypackage
文件的大型.zip
文件,您可以从Google APIs for Unity 站点下载单独的包。
该网站提供:
- 要作为资产包导入的单个 .NET 4.X
.unitypackage
文件。 - 要使用 Unity 包管理器导入的单个
.tgz
存档。
当您的应用程序使用单个 Firebase 产品时,这尤其有用,因为各个.unitypackage
文件包含所有需要的依赖项,并且.tgz
文件与它们所依赖的相关.tgz
文件一起列出。
此页面提供了涉及 Unity 包管理器的说明,因此最好从 Unity 文档中了解该工具。
将 Firebase 包作为资产导入
从Google APIs for Unity 站点下载的.unitypackage
文件导入 Firebase 产品时,请记住以下几点:
如果您在项目中使用多个 Firebase 产品,则必须下载所有 Firebase 产品并将其升级到同一版本。
不要在一个项目中混用导入方法。也就是说,不要使用资产包流程和使用 Unity 包管理器流程导入 Firebase 产品。
下载后导入:
在您打开的 Unity 项目中,导航到Assets > Import Package > Custom Package 。
在“导入 Unity 包”窗口中,单击“导入”。
使用 Unity 包管理器导入 Firebase 包
从Google APIs for Unity archive下载的.tgz
文件导入 Firebase 产品时,请记住以下几点:
此方法仅适用于 2018.3+。
如果您在项目中使用多个 Firebase 产品,则必须下载所有 Firebase 产品并将其升级到同一版本。
不要在一个项目中混用导入方法。也就是说,不要使用资产包流程和 Unity 包管理器流程导入 Firebase 产品。
每个产品
.tgz
文件的依赖项都链接在它们自己的.tgz
文件中。您必须以正确的顺序下载并导入产品.tgz
文件和依赖.tgz
文件:- 外部依赖管理器 (
com.google.external-dependency-manager
) - Firebase 核心 (
com.google.firebase.app
) - 您的项目中使用的 Firebase 产品。如果您使用实时数据库或云存储,请先导入身份验证 (
com.google.firebase.auth
)。
- 外部依赖管理器 (
下载后,使用以下方法之一将.tgz
文件导入到您的项目中:
包管理器用户界面
- 打开 Unity 的包管理器窗口。
- 单击包管理器窗口左上角的
+
图标,然后选择Add package from tarball
以打开文件浏览器。 - 在文件浏览器中选择所需的 tarball。
一些旧版本的 Unity 2019 不支持直接添加压缩包。在这种情况下,您需要:
- 解压缩
.tgz
文件。 - 单击包管理器窗口左上角的
+
图标,然后选择Add package from disk
以打开文件浏览器。 - 在文件浏览器中选择提取的文件夹。
清单.json
- 在项目的
Packages
文件夹旁边创建一个新文件夹并将其命名为GooglePackages
。 - 将
.tgz
文件放入该文件夹中。 - 使用文本编辑器打开 Unity 项目文件夹下的
Packages/manifest.json
。 为每个要导入的包添加一个条目,将包名称映射到磁盘上的位置。请务必将
file:
附加到.tgz
文件路径。例如,如果您要导入com.google.firebase.storage
及其依赖项,您的manifest.json
将如下所示:{ "dependencies": { "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164.tgz", "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0.tgz", "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0.tgz", "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0.tgz", // com.unity package entries... } }
保存
manifest.json
文件。当 Unity 重新获得焦点时,它将重新加载
manifest.json
并导入新添加的包。
一些旧版本的 Unity 不支持manifest.json
中的.tgz
文件。在这种情况下,您应该:
- 解压缩
.tgz
文件。 编辑您的
manifest.json
以使用解压文件夹的路径,而不是.tgz
文件,如下所示:{ "dependencies": { "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164", "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0", "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0", "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0", // com.unity package entries... } }
从 Unity 包管理器迁移到资产包
在某些情况下,您可能希望从使用 Unity Package Manager 来跟踪 Firebase 产品切换到在Assets
文件夹下导入产品。
如果您不确定您使用的是哪种导入方法,请在您的 Unity 项目文件夹中打开文件Packages/manifest.json
。如果文件包含以com.google.firebase
开头的条目,则您的项目使用 Unity Package Manager 进行导入。
迁移到资产包:
记下项目中当前的 Firebase 包版本并将其删除。
- 从窗口菜单中,选择包管理器。在“包管理器”窗口中,确保选中“包:在项目中”。
- 请注意导入的 Firebase 包的版本。
- 单击每个包名称,然后单击Remove 。请务必删除外部依赖管理器包 (
.com.google.external-dependency-manager
) 以及 Firebase 包。
下载并导入替换
.unitypackage
文件。你有两个选择:- 如果您可以升级到每个包的最新版本,请下载 Firebase Unity SDK zip 文件并按照将Firebase 添加到您的 Unity 项目中所述进行导入。
- 如果您需要保留当前的
.unitypackage
版本,您可以按照本页上文所述下载并导入单个包。
从资产包迁移到 Unity 包管理器
在某些情况下,您可能希望从在Assets
文件夹下导入产品切换到使用 Unity Package Manager 导入和跟踪产品。
如果您不确定您使用的是哪种导入方法,请在您的 Unity 项目文件夹中打开文件Packages/manifest.json
。如果文件包含以com.google.firebase
开头的条目,您的项目已经在使用 Unity Package Manager 进行导入。
要迁移到 Unity 包管理器:
使用以下任一方法,确保所有 Firebase 包和外部依赖管理器包都已从
Assets
文件夹中删除。包管理器用户界面
- 在打开的 Unity 项目中,导航到Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages 。
- 选择所有 Firebase 包和外部依赖管理器。
- 单击卸载选定的程序包。
手动移除
使用文件系统工具,手动删除以下文件夹:
-
Assets/Editor Default Resources/Firebase
-
Assets/ExternalDependencyManager
-
Assets/Firebase
-
Assets/Parse
-
Assets/Plugins/iOS/Firebase
使用 Unity 包管理器导入包,如本页上文所述。