获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

其他 Unity 安装选项

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

您可以从Google APIs for Unity 站点下载单个包,而不是下载包含 .NET 3.X 和 .NET 4.X 的所有.unitypackage文件的大型.zip文件。

该网站提供:

  • 单独的 .NET 4.X .unitypackage文件作为资产包导入。
  • 使用 Unity 包管理器导入的单个.tgz存档。

这在您的应用使用单个 Firebase 产品时特别有用,因为各个.unitypackage文件包含所有需要的依赖项,并且.tgz文件与它们所依赖的相关.tgz文件一起列出。

此页面提供了涉及 Unity 包管理器的说明,因此最好从 Unity 文档中了解该工具。

将 Firebase 包作为资产导入

Google APIs for Unity 网站下载的.unitypackage文件导入 Firebase 产品时,请记住以下几点:

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

  • 不要在一个项目中混合导入方法。也就是说,不要使用资产包流和 Unity 包管理器流导入 Firebase 产品。

下载后,导入:

  1. 在您打开的 Unity 项目中,导航到Assets > Import Package > Custom Package

  2. 在“导入 Unity 包”窗口中,单击“导入”。

使用 Unity 包管理器导入 Firebase 包

Google APIs for Unity 存档下载的.tgz文件导入 Firebase 产品时,请记住以下几点:

  • 此方法仅在 2018.3+ 中可用。

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

  • 不要在一个项目中混合导入方法。也就是说,不要使用资产包流和 Unity 包管理器流导入 Firebase 产品。

  • 每个产品.tgz文件的依赖项都链接在它们自己的.tgz文件中。您必须按正确的顺序下载并导入产品.tgz文件和依赖.tgz文件:

    1. 外部依赖管理器 ( com.google.external-dependency-manager )
    2. Firebase 核心 ( com.google.firebase.app )
    3. 您的项目中使用的 Firebase 产品。如果您使用实时数据库或云存储,请先导入身份验证 ( com.google.firebase.auth )。

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

包管理器用户界面

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

一些旧版本的 Unity 2019 不支持直接添加 tarball。在这种情况下,您需要:

  1. 解压缩.tgz文件。
  2. 单击 Package Manager 窗口左上角的+图标,然后选择Add package from disk打开文件浏览器。
  3. 在文件浏览器中选择提取的文件夹。

清单.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 包管理器迁移到资产包

在某些情况下,您可能希望从使用 Unity 包管理器跟踪 Firebase 产品切换到在Assets文件夹下导入产品。

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

要迁移到资产包:

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

    1. 窗口菜单中,选择包管理器。在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 包管理器

在某些情况下,您可能希望从导入Assets文件夹下的产品切换到使用 Unity Package Manager 导入和跟踪产品。

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

要迁移到 Unity 包管理器:

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

    包管理器用户界面

    1. 在您打开的 Unity 项目中,导航到Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages
    2. 选择所有 Firebase 包和外部依赖管理器。
    3. 单击卸载选定的包

    手动移除

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

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. 使用 Unity 包管理器导入包,如本页上文所述