利用我们的 Firebase Unity SDK 为您的 Unity 游戏注入强劲动力。
为了说明将 Firebase 添加至您的 Unity 项目中有多么容易,我们开发了一款示例游戏《MechaHamster》。如果您想尝试将 Firebase 添加到游戏中,请使用 GitHub 上的入门版。如果您想获取完整版本,请查看 App Store 或 Google Play Store 中的版本。
如需详细了解如何使用 Firebase 为您的游戏提供强力支持,请访问我们的 Firebase 游戏页面。
已将 Firebase 添加到您的 Unity 项目?确保您使用的是最新版 Firebase Unity SDK。
前提条件
- 安装 Unity 2021 LTS 或更高版本。对 Unity 2020 的支持被视为已弃用,并将在下一个主要版本之后不再享受积极支持。更早的版本也可能兼容,但不享受积极支持。 
- (仅限 Apple 平台)安装以下各项: - Xcode 13.3.1 或更高版本
- CocoaPods 1.12.0 或更高版本
 
- 确保您的 Unity 项目满足以下要求: - 对于 iOS - 目标为 iOS 13 或更高版本
- 对于 tvOS - 目标为 tvOS 13 或更高版本
- 对于 Android - 目标 API 级别为 21 (Lollipop) 或更高版本
 
- 设置一台实体设备或使用模拟器运行您的应用。 - 对于 Apple 平台 - 设置实体设备或使用 iOS 或 tvOS 模拟器。 
- 对于 Android - 模拟器必须使用包含 Google Play 的模拟器映像。 
 
- 使用您的 Google 账号登录 Firebase。
如果您还没有 Unity 项目,只是想试用某一 Firebase 产品,可以下载我们的快速入门示例。
第 1 步:创建 Firebase 项目
您必须创建一个 Firebase 项目以关联到 Unity 项目,然后才能将 Firebase 添加到该 Unity 项目。请访问了解 Firebase 项目以了解详情。
第 2 步:在 Firebase 中注册您的应用
您可以注册一个或多个应用或游戏,以便将其与 Firebase 项目关联。
- 前往 Firebase 控制台。 
- 在项目概览页面的中心位置,点击 Unity 图标 () 以启动设置工作流。 - 如果您已向 Firebase 项目添加了应用,请点击添加应用以显示平台选项。 
- 选择您要注册的 Unity 项目的 build 目标,甚至可以选择同时注册两个目标。 
- 输入 Unity 项目针对具体平台的 ID。 - 对于 iOS - 在 iOS 软件包 ID 字段中输入您的 Unity 项目的 iOS ID。 
- 对于 Android - 在 Android 软件包名称字段中输入您的 Unity 项目的 Android ID。 
 “软件包名称”和“应用 ID”这两个术语通常可互换使用。
 
- (可选)输入 Unity 项目针对具体平台的别名。 
 这些别名是方便内部使用的标识符,只有您能在 Firebase 控制台中看到。
- 点击注册应用。 
第 3 步:添加 Firebase 配置文件
- 在 Firebase 控制台设置工作流中,获取针对具体平台的 Firebase 配置文件。 - 对于 iOS - 点击下载 GoogleService-Info.plist。 
- 对于 Android - 点击下载 google-services.json。 
 
- 打开 Unity 项目的 Project(项目)窗口,然后将您的配置文件移到 - Assets文件夹中。
- 返回 Firebase 控制台,在设置工作流中,点击下一步。 
第 4 步:添加 Firebase Unity SDK
- 在 Firebase 控制台中,点击下载 Firebase Unity SDK,然后将此 SDK 解压缩到方便的位置。 - 您可以随时再次下载 Firebase Unity SDK。 
- Firebase Unity SDK 不局限于特定平台。 
 
- 在您打开的 Unity 项目中,依次转到 Assets > Import Package > Custom Package。 
- 从解压缩的 SDK 中,选择您希望在应用中使用且受支持的 Firebase 产品。 - 已启用 Analytics- 添加适用于 Google Analytics 的 Firebase 软件包:FirebaseAnalytics.unitypackage
- 为要在应用中使用的任何其他 Firebase 产品添加软件包。例如,要使用 Firebase Authentication 和 Firebase Realtime Database,需要添加以下软件包:
 FirebaseAuth.unitypackage和FirebaseDatabase.unitypackage
 - 未启用 Analytics- 为要在应用中使用的 Firebase 产品添加软件包。例如,要使用 Firebase Authentication 和 Firebase Realtime Database,需要添加以下软件包: 
 - FirebaseAuth.unitypackage和- FirebaseDatabase.unitypackage
- 添加适用于 Google Analytics 的 Firebase 软件包:
- 在“Import Unity Package”窗口中,点击 Import。 
- 返回 Firebase 控制台,在设置工作流中,点击下一步。 
第 5 步:确认 Google Play 服务版本要求
Android 版 Firebase Unity SDK 中的某些产品需要 Google Play services。了解哪些产品具有此依赖关系。您必须先将 Google Play services 更新为最新版本,然后才能使用这些产品。
在应用的开头添加以下 using 语句和初始化代码。在调用 SDK 中的任何其他方法之前,您可在此代码段中检查 Google Play services 版本是否符合要求,并视情况将其更新为相应版本。
using Firebase.Extensions;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(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。
- 按照与移动平台相同的说明设置桌面平台 Unity 项目(从上面的在 Firebase 中注册您的应用步骤开始)。 
- 在 Unity IDE 中运行您的 Unity 项目,或选择构建桌面平台的 Unity 项目。 
- (可选)在编辑模式下运行 Unity 项目。 - Firebase Unity SDK 也可以在 Unity 的编辑模式下运行,因此可供在编辑器插件中使用。 - 创建供编辑器使用的 - FirebaseApp时,请勿使用默认实例。
- 请改为在进行 - FirebaseApp.Create()调用时提供一个唯一的名称。- 这一点很重要,因为这样可避免 Unity IDE 使用的实例与 Unity 项目使用的实例之间发生选项冲突。 
 
受支持的 Firebase 产品
如需详细了解 Unity Firebase 库,请查看参考文档。
适用于移动设备的 Firebase 可用库
Firebase Unity SDK 在 Apple 和 Android 上支持以下 Firebase 产品:
| Firebase 产品 | Unity 软件包 | 
|---|---|
| AdMob | 在 AdMob Unity 插件中单独分发 | 
| Firebase AI Logic | FirebaseAI.unitypackage | 
| Analytics | FirebaseAnalytics.unitypackage | 
| App Check | FirebaseAppCheck.unitypackage | 
| Authentication | FirebaseAuth.unitypackage | 
| Cloud Firestore | 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 软件包 | 
|---|---|
| Firebase AI Logic | FirebaseAI.unitypackage | 
| App Check | FirebaseAppCheck.unitypackage | 
| 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 进行构建。这样一来,您就不必再针对桌面平台专门编译代码。
后续步骤
- 探索 Firebase 应用示例。 
- 准备启动您的应用: - 在 Google Cloud 控制台中为您的项目设置预算提醒。
- 在 Firebase 控制台中监控“用量和结算”信息中心,以全面了解您的项目在多个 Firebase 服务中的用量信息。
- 查看 Firebase 发布核对清单。
 
- 在使用 Firebase 和 Unity 项目时遇到问题?请参阅 Unity 问题排查和常见问题解答。