Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

将 Firebase 添加到您的 Unity 项目

利用我们的 Firebase Unity SDK 为您的 Unity 游戏注入强劲动力。

为了说明将 Firebase 添加至您的 Unity 项目中有多么容易,我们开发了一款示例游戏《MechaHamster》,您可以从 GitHubApp StoreGoogle Play 商店下载这款游戏。

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster(Play 商店)


如需详细了解如何使用 Firebase 为您的游戏提供强力支持,请访问我们的 Firebase 游戏页面

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

前提条件

  • 安装 2017.4 或更高版本。更早的版本也可能兼容,但并不享受积极支持。

  • (仅适用于 iOS)安装以下应用:

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

    • 对于 iOS - 目标为 iOS 10 或更高版本
    • 对于 Android - 目标为 API 级别 16 (Jelly Bean) 或更高版本

  • 设置一台实体设备或使用模拟器运行您的应用。

    • 对于 iOS - 设置一台 iOS 实体设备或使用 iOS 模拟器。

    • 对于 Android - 模拟器必须使用 Google Play 提供的模拟器映像。

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

第 1 步:创建 Firebase 项目

您必须创建一个 Firebase 项目以关联到 Unity 项目,然后才能将 Firebase 添加到该 Unity 项目。请访问了解 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 项目的 Project 窗口,然后将您的配置文件移到 Assets 文件夹中。

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

第 4 步:添加 Firebase Unity SDK

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

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

    • Firebase Unity SDK 不局限于特定平台。

  2. 在您打开的 Unity 项目中,依次转到 Assets > Import Package > Custom Package

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

    已启用 Analytics(分析)

    • 添加支持 Google Analytics(分析)的 Firebase 软件包:FirebaseAnalytics.unitypackage
    • 为要在应用中使用的任何其他 Firebase 产品添加软件包。例如,要使用 Firebase Authentication 和 Firebase Realtime Database,需要添加以下软件包:
      FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

    未启用 Analytics(分析)

    为要在应用中使用的 Firebase 产品添加软件包。例如,要使用 Firebase Authentication 和 Firebase Realtime Database,需要添加以下软件包:
    FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

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

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

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

Android 版 Firebase Unity SDK 需要使用 Google Play 服务。您必须先将 Google Play 服务更新为最新版本,然后才能使用该 SDK。

您应在应用开头添加以下代码,以便检查 Google Play 服务版本是否符合 Firebase Unity SDK 的要求,并视情况将其更新为相应版本,然后再调用 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 问题排查和常见问题解答

设置桌面工作流(Beta 版

当您创建游戏时,建议在开发时先在 Unity 编辑器中和桌面平台上测试您的游戏,然后再在移动设备上进行部署和测试,因为这样往往更轻松。为了支持这种工作流,我们提供了可在 Windows、macOS、Linux 上以及 Unity 编辑器中运行的一部分 Firebase Unity SDK

  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 在 iOS 和 Android 上支持以下 Firebase 产品:

Firebase 产品 Unity 软件包
AdMob 在 AdMob Unity 插件中单独分发
Analytics FirebaseAnalytics.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Firestore(Beta 版) FirebaseFirestore.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
(推荐)FirebaseAnalytics.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(推荐)FirebaseAnalytics.unitypackage
Dynamic Links FirebaseDynamicLinks.unitypackage
(推荐)FirebaseAnalytics.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
(推荐)FirebaseAnalytics.unitypackage

受支持的 Firebase 产品(桌面设备)

Firebase Unity SDK 的一部分产品提供桌面工作流支持,让您可以在 Unity 编辑器中以及 Windows、macOS 和 Linux 的独立桌面版本中使用 Firebase 的某些部分。

Firebase 产品(桌面设备) Unity 软件包
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage

Firebase 以 Stub(非函数)实现提供其余的桌面库,以方便您针对 Windows、macOS 和 Linux 进行构建。这样一来,您就不必在将桌面平台作为目标时专门编译代码。

后续步骤