其他 Unity 安装选项

您可以从 Unity 版 Google API 网站中下载各个软件包,而不是下载一个包含适用于 .NET 3.X 和 .NET 4.X 的所有 .unitypackage 文件的大型 .zip 文件。

该网站提供:

  • 用于作为资源包导入的各个独立的 .NET 4.X .unitypackage 文件。
  • 使用 Unity Package Manager 导入的各个独立的 .tgz 归档。

如果您的应用使用单个 Firebase 产品,这一点尤为实用,因为各个独立的 .unitypackage 文件包含所有必需的依赖项,且 .tgz 文件会与它们所依赖的相关 .tgz 文件一起列出。

本页面提供有关 Unity Package Manager 的说明,建议您从 Unity 项目文档了解该工具。

将 Firebase 软件包作为资源导入

导入从 Unity 版 Google API 网站下载的 .unitypackage 文件中的 Firebase 产品时,请注意以下几点:

  • 如果您在项目中使用多个 Firebase 产品,则必须下载所有这些 Firebase 产品并将其升级到同一版本。

  • 请勿在一个项目中混用多种导入方法。也就是说,如果使用资源包工作流导入 Firebase 产品,请勿同时使用 Unity Package Manager 工作流。

下载后,请按以下步骤导入:

  1. 在您打开的 Unity 项目中,依次转到 Assets(资源)> Import Package(导入资源包)> Custom Package(自定义资源包)。

  2. 在“Import Unity Package”窗口中,点击 Import

使用 Unity Package Manager 导入 Firebase 软件包

导入从 Unity 版 Google API 归档中下载的 .tgz 文件中的 Firebase 产品时,请注意以下几点:

  • 仅 2018.3 及以上版本支持使用此方法。

  • 如果您在项目中使用多个 Firebase 产品,则必须下载所有这些 Firebase 产品并将其升级到同一版本。

  • 请勿在一个项目中混用多种导入方法。也就是说,如果使用资源包工作流导入 Firebase 产品,请勿同时使用 Unity Package Manager 工作流。

  • 每个产品 .tgz 文件的依赖项与其自己的 .tgz 文件相关联。您必须按正确的顺序下载并导入产品 .tgz 文件和依赖项 .tgz 文件:

    1. External Dependency Manager (com.google.external-dependency-manager)
    2. Firebase 核心 (com.google.firebase.app)
    3. 您的项目中使用的 Firebase 产品。如果您使用 Realtime Database 或 Cloud Storage,请先导入 Authentication (com.google.firebase.auth)。

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

软件包管理器界面

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

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

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

manifest.json

  1. 在项目的 Packages 文件夹旁边创建一个新文件夹,并将其命名为 GooglePackages
  2. .tgz 文件放在该文件夹中。
  3. 使用文本编辑器打开 Unity 项目文件夹下的 Packages/manifest.json
  4. 为要导入的每个软件包添加一个条目,使软件包名称与磁盘上的位置对应。请务必将 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. 修改 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 改为使用资源包

在某些情况下,您可能需要放弃使用 Unity Package Manager 跟踪 Firebase 产品,改为在 Assets 文件夹下导入产品。

如果您不确定自己使用的是哪种导入方法,请在 Unity 项目文件夹中打开文件 Packages/manifest.json。如果该文件包含以 com.google.firebase 开头的条目,则表示您的项目是使用 Unity Package Manager 导入的。

如需改为使用资源包,请执行以下操作:

  1. 记下项目中的当前 Firebase 软件包版本并将其移除。

    1. Window 菜单中选择 Package Manager。在“Package Manager”(软件包管理器)窗口中,确保已选中“Packages: In Project”(软件包:项目中)。
    2. 记下已导入的 Firebase 软件包的版本。
    3. 点击各个软件包名称,然后点击移除。请务必移除 External Dependency Manager 软件包 (.com.google.external-dependency-manager) 以及 Firebase 软件包。
  2. 下载并导入替换的 .unitypackage 文件。您可以采用以下两种方法:

    • 如果您可以升级到各个软件包的最新版本,请下载 Firebase Unity SDK zip 文件,然后按照将 Firebase 添加到您的 Unity 项目中的说明导入。
    • 如果您需要保留当前的 .unitypackage 版本,可以按照本页上文所述下载并导入各个软件包。

从资源包改为使用 Unity Package Manager

在某些情况下,您可能需要放弃从 Assets 文件夹下导入产品,改为使用 Unity Package Manager 导入和跟踪产品。

如果您不确定自己使用的是哪种导入方法,请在 Unity 项目文件夹中打开文件 Packages/manifest.json。如果文件包含以 com.google.firebase 开头的条目,则表示您的项目已在使用 Unity Package Manager 进行导入。

如需改为使用 Unity Package Manager,请执行以下操作:

  1. 请使用以下任一方法从 Assets 文件夹中移除所有 Firebase 软件包和 External Dependency Manager 软件包。

    EDM4U 界面

    1. 在您打开的 Unity 项目中,依次点击 Assets(资产)> External Dependency Manager > Version Handler(版本处理程序)> Uninstall Managed Packages(卸载管理的软件包)
    2. 选择所有 Firebase 软件包和 External Dependency Manager。
    3. 点击 Uninstall Selected Package

    手动移除

    使用文件系统工具,手动删除以下文件夹:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. 按照本页上文所述,使用 Unity Package Manager 导入软件包。