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

将 Firebase 添加到您的 Unity 项目

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

使用我们的 Firebase Unity SDK 增强您的Unity游戏。

为了展示将 Firebase 插入您的 Unity 项目有多么容易,我们制作了一个示例游戏 MechaHamster,您可以从GitHubApp StoreGoogle Play Store下载该游戏。

机甲仓鼠 (GitHub)

机甲仓鼠 (App Store)

MechaHamster(Play 商店)


在我们的Firebase 游戏页面上找到有关使用 Firebase 为您的游戏提供动力的更多信息。

已经将 Firebase 添加到您的 Unity 项目?确保您使用的是最新版本的Firebase Unity SDK

先决条件

  • 安装 Unity 2019.1 或更高版本。早期版本也可能兼容,但不会得到积极支持。对 Unity 2019.1 的支持被视为已弃用,下一个主要版本后将不再提供积极支持。

  • (仅限 iOS)安装以下内容:

    • Xcode 13.3.1 或更高版本
    • CocoaPods 1.10.0 或更高版本
  • 确保您的 Unity 项目满足以下要求:

    • 对于 iOS — 针对 iOS 11 或更高版本
    • 对于 Android——目标 API 级别 19 (KitKat) 或更高
  • 设置物理设备或使用模拟器来运行您的应用程序。

    • 对于 iOS — 设置物理 iOS 设备或使用 iOS 模拟器。

    • 对于 Android模拟器必须使用带有 Google Play 的模拟器图像。

如果您还没有 Unity 项目并且只想试用 Firebase 产品,您可以下载我们的快速入门示例之一。

第 1 步:创建一个 Firebase 项目

在将 Firebase 添加到 Unity 项目之前,您需要创建一个 Firebase 项目以连接到您的 Unity 项目。访问了解 Firebase 项目以了解有关 Firebase 项目的更多信息。

第 2 步:向 Firebase 注册您的应用

您可以注册一个或多个应用程序或游戏来连接您的 Firebase 项目。

  1. 转到Firebase 控制台

  2. 在项目概览页面的中央,单击Unity图标 ( ) 以启动设置工作流程。

    如果您已将应用程序添加到 Firebase 项目,请单击添加应用程序以显示平台选项。

  3. 选择您要注册的 Unity 项目的构建目标,或者您甚至可以选择现在同时注册两个目标。

  4. 输入您的 Unity 项目的平台特定 ID。

    • 对于 iOS — 在iOS 包 ID字段中输入您的 Unity 项目的 iOS ID。

    • 对于 Android — 在Android 包名称字段中输入您的 Unity 项目的 Android ID。
      术语包名称应用程序 ID经常互换使用。

  5. (可选)输入您的 Unity 项目的平台特定昵称。
    这些昵称是内部的、方便的标识符,并且仅在 Firebase 控制台中对您可见。

  6. 单击注册应用程序

第 3 步:添加 Firebase 配置文件

  1. 在 Firebase 控制台设置工作流程中获取特定于平台的 Firebase 配置文件。

    • 对于 iOS — 单击下载 GoogleService-Info.plist

    • 对于 Android — 单击下载 google-services.json

  2. 打开 Unity 项目的项目窗口,然后将配置文件移动到Assets文件夹中。

  3. 返回 Firebase 控制台,在设置工作流程中,单击下一步

第 4 步:添加 Firebase Unity SDK

  1. 在 Firebase 控制台中,点击Download Firebase Unity SDK ,然后将 SDK 解压缩到方便的位置。

    • 您可以随时再次下载Firebase Unity SDK

    • Firebase Unity SDK 不特定于平台。

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

  3. 从解压缩的 SDK 中,选择您要在您的应用中使用的受支持的 Firebase 产品

    启用分析

    • 为 Google Analytics 添加 Firebase 包: FirebaseAnalytics.unitypackage
    • 添加您要在您的应用中使用的任何其他 Firebase 产品的软件包。例如,要使用 Firebase 身份验证和 Firebase 实时数据库:
      FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

    未启用分析

    添加您要在应用中使用的 Firebase 产品的软件包。例如,要使用 Firebase 身份验证和 Firebase 实时数据库:
    FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

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

  5. 返回 Firebase 控制台,在设置工作流程中,单击下一步

第 5 步:确认 Google Play 服务版本要求

适用于 Android 的 Firebase Unity SDK 需要Google Play 服务,该服务必须是最新的才能使用 SDK。

在应用程序的开头添加以下代码。在调用 SDK 中的任何其他方法之前,您可以检查并选择将 Google Play 服务更新到 Firebase Unity SDK 所需的版本。

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

一切就绪!您的 Unity 项目已注册并配置为使用 Firebase。

不过,如果您在设置时遇到问题,请访问Unity 故障排除和常见问题解答

设置桌面工作流程(测试版

当您创建游戏时,通常更容易先在 Unity 编辑器和桌面平台上测试您的游戏,然后在稍后的开发过程中在移动设备上进行部署和测试。为支持此工作流,我们提供了Firebase Unity SDK 的一个子集,它们可以在 Windows、macOS、Linux 上以及从 Unity 编辑器中运行。

  1. 按照与移动平台相同的说明设置桌面平台 Unity 项目(从上面的向 Firebase 注册您的应用程序步骤开始)。

  2. 在 Unity IDE 中运行您的 Unity 项目或选择为桌面构建您的 Unity 项目。

  3. (可选)在编辑模式下运行您的 Unity 项目。

    Firebase Unity SDK 也可以在 Unity 的编辑模式下运行,允许在编辑器插件中使用。

    1. 当您创建编辑器使用的FirebaseApp时,请勿使用默认实例。

    2. 相反,为FirebaseApp.Create()调用提供一个唯一的名称。

      这对于避免 Unity IDE 使用的实例与 Unity 项目使用的实例之间的选项冲突很重要。

支持的 Firebase 产品

参考文档中了解有关 Unity Firebase 库的更多信息。

Firebase Unity SDK 在iOSAndroid上支持以下 Firebase 产品:

火力地堡产品统一包
AdMob在 AdMob Unity 插件中单独分发
分析FirebaseAnalytics.unitypackage
验证FirebaseAuth.unitypackage
云端 Firestore FirebaseFirestore.unitypackage
云端功能FirebaseFunctions.unitypackage
云消息FirebaseMessaging.unitypackage
(推荐) FirebaseAnalytics.unitypackage
云储存FirebaseStorage.unitypackage
崩溃分析FirebaseCrashlytics.unitypackage
(推荐) FirebaseAnalytics.unitypackage
动态链接FirebaseDynamicLinks.unitypackage
(推荐) FirebaseAnalytics.unitypackage
实时数据库FirebaseDatabase.unitypackage
远程配置FirebaseRemoteConfig.unitypackage
(推荐) FirebaseAnalytics.unitypackage

支持的 Firebase 产品(桌面)

Firebase Unity SDK 包括对部分产品的桌面工作流支持,使 Firebase 的某些部分能够在 Unity 编辑器和 Windows、macOS 和 Linux 上的独立桌面构建中使用。

Firebase 产品(桌面)统一包
验证FirebaseAuth.unitypackage
云端功能FirebaseFunctions.unitypackage
云端 Firestore FirebaseFirestore.unitypackage
云储存FirebaseStorage.unitypackage
实时数据库FirebaseDatabase.unitypackage
远程配置FirebaseRemoteConfig.unitypackage

Firebase 将剩余的桌面库作为存根(非功能性)实现提供,以便在为 Windows、macOS 和 Linux 构建时提供便利。因此,您不需要有条件地编译代码以针对桌面。

下一步