安装适用于 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 作为受限注册表添加到 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
    
  3. 依次选择 Unity 菜单选项 Window > Package Manager,打开软件包管理器菜单

  4. 将经理范围下拉菜单设置为选择我的注册库

  5. 从软件包列表中选择 Google Play Integrity plugin for Unity 软件包,然后按 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 的 Package Manager 窗口。
  2. 点击软件包管理器窗口左上角的 + 图标,然后选择 Add package from tarball 以打开文件浏览器。

    显示

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

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

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

    显示

  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 文件,而不必担心顺序,可以按照 manifest.json 标签页中的说明操作。

版本控制

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

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

从 UPM 软件包迁移到资源包

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

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

软件包管理器界面

  1. 打开 Unity 的 Package Manager 窗口。
  2. 在左上角的下拉菜单中选择 In Project

    显示

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

    显示

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

manifest.json

  1. 使用文本编辑器打开 Unity 项目文件夹下的 Packages/manifest.json
  2. 检查“依赖项”下是否有任何 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 软件包,请按照这些说明操作。
    • 如需卸载适用于 Unity 的 Play 插件,请删除 Assets 下的 GooglePlayPlugins 文件夹。
  2. 按照上文所述,使用 Unity Package Manager 安装软件包。

特定产品的迁移说明

如需 Firebase 说明,请参阅此处