利用我们的 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 插件中单独分发 |
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 软件包 |
---|---|
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 问题排查和常见问题解答。