适用于 Unity 的 Google 软件包采用两种不同的格式分发:
- 资源包:
- 扩展名为
.unitypackage
。 - 安装到项目的
Assets
目录。 - 可以在 Unity 5 及更高版本中导入。
- 通常包含依赖项软件包。
- 扩展名为
- Unity Package Manager (UPM) 软件包:
- 扩展名为
.tgz
。 - 安装到项目的
Packages
目录。 - 可在 Unity 2018.4 及更高版本中导入。
- 引用需要单独安装的依赖项软件包。
- 扩展名为
软件包页面包含所有可用软件包的最新 .unitypackage
文件,以及部分软件包的 .tgz
文件。
归档页面包含所有软件包版本的 .unitypackage
和 .tgz
文件。
您可以在下方找到有关如何安装这两种类型的软件包的说明,以及从一种类型迁移到另一种类型的迁移说明。
熟悉这些安装选项后,请务必参阅 Firebase 的其他产品专用说明。
使用 OpenUPM 导入软件包
您可以使用 OpenUPM 注册库将外部软件包添加到 Unity 项目中。OpenUPM 托管了许多实用的插件和 SDK,例如 Google Play Integrity 插件,可帮助保护您的应用免受欺诈和滥用行为的侵害。
下面的示例展示了如何使用 OpenUPM 添加 Google Play Integrity 插件。
OpenUPM-CLI
如果您已安装 OpenUPM CLI,则可以使用以下命令安装 OpenUPM 注册表:
openupm add com.google.play.integrity
OpenUPM
依次选择 Unity 菜单选项 Edit > Project Settings > Package Manager,打开软件包管理器设置。
将 OpenUPM 作为受限注册表添加到 Package Manager 窗口:
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.integrity
依次选择 Unity 菜单选项 Window > Package Manager,打开软件包管理器菜单。
将经理范围下拉菜单设置为选择我的注册库。
从软件包列表中选择 Google Play Integrity plugin for Unity 软件包,然后按 Install。
使用 .unitypackage
文件导入资源包
导入 .unitypackage
文件,方法是选择 Unity 菜单选项 Assets > Import package > Custom Package
,然后导入所有项目。这会将软件包内容添加到项目的“Assets”目录下。
使用 .tgz
文件导入 UPM 软件包 (2018.4 及更高版本)
使用以下任一方法将 .tgz
文件导入项目中:
manifest.json
- 在项目的
Packages
文件夹旁边创建一个新文件夹,并将其命名为GooglePackages
。 - 将
.tgz
文件放在该文件夹中。 - 使用文本编辑器打开 Unity 项目文件夹下的
Packages/manifest.json
。 为要安装的每个软件包添加一个条目,使软件包名称与磁盘上相对于
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
文件。 - 将解压缩的文件夹放在
GooglePackages
文件夹中。 修改 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 的 Package Manager 窗口。
点击软件包管理器窗口左上角的
+
图标,然后选择Add package from tarball
以打开文件浏览器。在文件浏览器中选择所需的 tar 压缩文件。
某些旧版本的 Unity 不支持直接添加 tar 压缩文件。在这种情况下,您需要执行以下操作:
- 解压缩
.tgz
文件。 点击软件包管理器窗口左上角的
+
图标,然后选择Add package from disk
以打开文件浏览器。在文件浏览器中选择已解压缩的文件夹。
请务必也导入软件包依赖项的 .tgz
文件,您可以在归档页面上找到相应软件包的部分下列出的这些文件。
例如,如果您要安装 com.google.firebase.storage
,则应按以下顺序安装这些 .tgz
文件:
- External Dependency Manager (
com.google.external-dependency-manager
) - Firebase 核心 (
com.google.firebase.app
) - Firebase Auth (
com.google.firebase.auth
) - Firebase Storage (
com.google.firebase.storage
)
如果您想一次添加所有 .tgz
文件,而不必担心顺序,可以按照 manifest.json 标签页中的说明操作。
版本控制
如果您使用版本控制软件来管理项目文件,我们建议您将相关的 .tgz
文件添加到版本控制中。您可以手动修改项目的 manifest.json
(请参阅上文中的说明),并使用相对路径引用本地 .tgz
文件。
如果您使用的是 git,我们建议您使用 Git 大型文件存储 (LFS) 来管理大型 .tgz
文件。
从 UPM 软件包迁移到资源包
在某些情况下,您可能需要放弃使用 Unity Package Manager 管理 Google 软件包,改为在 Assets 文件夹下安装软件包。
请使用以下任一方法从 Unity Package Manager 中移除所有 Google 软件包:
软件包管理器界面
- 打开 Unity 的 Package Manager 窗口。
在左上角的下拉菜单中选择
In Project
。在搜索栏中输入
com.google
,以过滤出 Google 软件包。点击各个软件包名称,然后点击
Remove
。
manifest.json
- 使用文本编辑器打开 Unity 项目文件夹下的
Packages/manifest.json
。 - 检查“依赖项”下是否有任何 Google 软件包。软件包名称应以“com.google”开头,例如“com.google.firebase.app”。
- 删除这些行并保存 json 文件。
- Unity 重新获得焦点时,将会重新加载
manifest.json
文件并移除已删除的软件包。
从 Unity Package Manager 中卸载这些软件包后,您可以从归档页面下载并导入替换的 .unitypackage
文件。
从资源包迁移到 UPM 软件包
在某些情况下,您可能需要放弃在 Assets 树下安装产品,改为使用 Unity Package Manager 安装和跟踪产品。
如果您不确定自己使用的是哪种安装方法,请在 Unity 界面中检查“项目”标签页下的“资源”中是否显示了所需的 Google 软件包。
如需改为使用 UPM 软件包,请执行以下操作:
确保已从“assets”文件夹中移除所有 Google 软件包。
- 如需卸载 Firebase 软件包,请按照这些说明操作。
- 如需卸载适用于 Unity 的 Play 插件,请删除
Assets
下的GooglePlayPlugins
文件夹。
按照上文所述,使用 Unity Package Manager 安装软件包。
特定产品的迁移说明
如需 Firebase 说明,请参阅此处。