安装适用于 Unity 的 Google 软件包

适用于 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

  1. 依次选择 Unity 菜单选项 Edit(修改)> Project Settings(项目设置)> Package Manager(资源包管理器),打开资源包管理器设置

  2. 在资源包管理器窗口中,将 OpenUPM 添加为限定范围的注册表:

    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
    
  3. 依次选择 Unity 菜单选项 Window(窗口)> Package Manager(资源包管理器),打开资源包管理器菜单

  4. 在管理器范围下拉菜单中,选择 My Registries(我的注册表)。

  5. 从资源包列表中选择 Google Play Integrity plugin for Unity(适用于 Unity 的 Google Play 完整性插件)资源包,然后按 Install(安装)。

导入包含 .unitypackage 文件的资源包

导入 .unitypackage 文件,方法是选择 Unity 菜单选项 Assets > Import package > Custom Package,然后导入所有项目。 这会将软件包内容添加到“Assets”目录下的项目中。

导入包含 .tgz 文件的 UPM 软件包 (2018.4+)

使用以下任一方法将 .tgz 文件导入项目中:

manifest.json

  1. 在项目的 Packages 文件夹旁边创建一个新文件夹,并将其命名为 GooglePackages
  2. .tgz 文件放在该文件夹中。
  3. 使用文本编辑器打开 Unity 项目文件夹下的 Packages/manifest.json
  4. 为要安装的每个软件包添加一个条目,使软件包名称与磁盘上的位置(相对于 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...
      }
    }
    
  5. 保存 manifest.json 文件。

  6. 当 Unity 重新获得焦点时,将会重新加载 manifest.json 并导入新添加的软件包。

某些旧版本的 Unity 不支持在 manifest.json 中使用 .tgz 文件。在这种情况下,您应执行以下操作:

  1. 解压缩 .tgz 文件。
  2. 将解压缩的文件夹放在 GooglePackages 文件夹中。
  3. 修改 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...
      }
    }
    

软件包管理器界面

  1. 打开 Unity 的软件包管理器窗口。
  2. 点击软件包管理器窗口左上角的 + 图标,然后选择 Add package from tarball 以打开文件浏览器。

    Unity Package Manager 窗口的屏幕截图,其中显示了

  3. 在文件浏览器中选择所需的 tar 压缩文件。

某些旧版本的 Unity 不支持直接添加 tar 压缩文件。在这种情况下,您需要执行以下操作:

  1. 解压缩 .tgz 文件。
  2. 点击软件包管理器窗口左上角的 + 图标,然后选择 Add package from disk 以打开文件浏览器。

    Unity Package Manager 窗口的屏幕截图,其中显示了

  3. 在文件浏览器中选择已解压缩的文件夹。

请务必同时导入软件包依赖项的 .tgz 文件,您可以在归档页面上所需软件包的部分中找到这些文件。

例如,如果您要安装 com.google.firebase.storage,则应按以下顺序安装这些 .tgz 文件:

  1. External Dependency Manager (com.google.external-dependency-manager)
  2. Firebase 核心 (com.google.firebase.app)
  3. Firebase Auth (com.google.firebase.auth)
  4. Firebase Storage (com.google.firebase.storage)

如果您希望一次性添加所有 .tgz 文件,而不必担心顺序问题,可以按照清单 JSON 标签页中的说明操作。

版本控制

如果您使用版本控制软件来管理项目文件,建议您将相关的 .tgz 文件添加到版本控制中。您可以手动修改项目的 manifest.json(请参阅上述说明),并使用相对路径引用本地 .tgz 文件。

如果您使用的是 Git,我们建议您使用 Git Large File Storage (LFS) 来管理大型 .tgz 文件。

从 UPM 软件包迁移到资源包

在某些情况下,您可能需要放弃使用 Unity Package Manager 管理 Google 软件包,改为在 Assets 文件夹下安装软件包。

请使用以下任一方法确保从 Unity Package Manager 中移除所有 Google 软件包:

软件包管理器界面

  1. 打开 Unity 的软件包管理器窗口。
  2. 在左上角的下拉菜单中选择 In Project

    Unity Package Manager 窗口的屏幕截图,其中显示了

  3. 在搜索栏中输入 com.google,以过滤 Google 软件包。

    Unity Package Manager 窗口的屏幕截图,其中显示了

  4. 点击各个软件包名称,然后点击 Remove

manifest.json

  1. 使用文本编辑器打开 Unity 项目文件夹下的 Packages/manifest.json
  2. 检查“dependencies”下是否有来自 Google 的任何软件包。软件包名称应以“com.google”开头,例如“com.google.firebase.app”。
  3. 删除这些行,然后保存 JSON 文件。
  4. 当 Unity 重新获得焦点时,它将重新加载 manifest.json 文件并移除已删除的软件包。

从 Unity Package Manager 中卸载这些软件包后,您可以从归档页面下载并导入替换的 .unitypackage 文件。

从资源包迁移到 UPM 软件包

在某些情况下,您可能需要放弃从 Assets 树下安装产品,改为使用 Unity Package Manager 安装和跟踪产品。

如果您不确定自己使用的是哪种安装方法,请在 Unity 界面中检查所需的 Google 软件包是否显示在“项目”标签页的“资源”下。

如需改为使用 UPM 软件包,请执行以下操作:

  1. 确保从 Assets 文件夹中移除所有 Google 软件包。

    • 如需卸载 Firebase 软件包,请按照这些说明操作。
    • 如需卸载 Play Plugins for Unity,请删除 Assets 下的 GooglePlayPlugins 文件夹。
  2. 按照上文所述,使用 Unity Package Manager 安装软件包。

特定产品的迁移说明

如需 Firebase 说明,请点击此处