使用我们的 Firebase Unity SDK 增强您的Unity游戏。
为了展示将 Firebase 插入您的 Unity 项目有多么容易,我们制作了一个示例游戏 MechaHamster,您可以从GitHub 、 App Store和Google Play Store下载该游戏。
在我们的Firebase 游戏页面上找到有关使用 Firebase 为您的游戏提供动力的更多信息。
已经将 Firebase 添加到您的 Unity 项目?确保您使用的是最新版本的Firebase Unity SDK 。
先决条件
安装 Unity 2019.1 或更高版本。早期版本也可能兼容,但不会得到积极支持。对 Unity 2019.1 的支持被视为已弃用,下一个主要版本后将不再提供积极支持。
(仅限 Apple 平台)安装以下内容:
- Xcode 13.3.1 或更高版本
- CocoaPods 1.10.0 或更高版本
确保您的 Unity 项目满足以下要求:
- 对于 iOS — 针对 iOS 11 或更高版本
- 对于 tvOS - 针对 tvOS 12 或更高版本
- 对于 Android——目标 API 级别 19 (KitKat) 或更高
设置物理设备或使用模拟器来运行您的应用程序。
对于 Apple 平台——设置物理设备或使用 iOS 或 tvOS 模拟器。
对于 iOS 或 tvOS 上的云消息传递,以下是先决条件:
- 设置物理设备。
- 为您的Apple Developer 帐户获取 Apple Push Notification Authentication Key。
- 在App > Capabilities下的 XCode 中启用推送通知。
对于 Android —模拟器必须使用带有 Google Play 的模拟器图像。
- 使用您的 Google 帐户登录 Firebase 。
如果您还没有 Unity 项目并且只想试用 Firebase 产品,您可以下载我们的快速入门示例之一。
第 1 步:创建一个 Firebase 项目
在将 Firebase 添加到 Unity 项目之前,您需要创建一个 Firebase 项目以连接到您的 Unity 项目。访问了解 Firebase 项目以了解有关 Firebase 项目的更多信息。
第 2 步:向 Firebase 注册您的应用
您可以注册一个或多个应用程序或游戏来连接您的 Firebase 项目。
转到Firebase 控制台。
在项目概览页面的中央,单击Unity图标 (
) 以启动设置工作流程。如果您已将应用程序添加到 Firebase 项目,请单击添加应用程序以显示平台选项。
选择您要注册的 Unity 项目的构建目标,或者您甚至可以选择现在同时注册两个目标。
输入您的 Unity 项目的平台特定 ID。
对于 iOS — 在iOS 包 ID字段中输入您的 Unity 项目的 iOS ID。
对于 Android — 在Android 包名称字段中输入您的 Unity 项目的 Android ID。
术语包名称和应用程序 ID经常互换使用。
在您的 Unity IDE 中打开您的 Unity 项目,然后导航到每个平台的设置部分:
对于 iOS — 导航到Build Settings > iOS 。
对于 Android — 导航至Android > Player Settings > Other Settings 。
您的 Unity 项目的 ID 是Bundle Identifier值(示例 ID:
com.yourcompany.yourproject
)。(可选)输入您的 Unity 项目的平台特定昵称。
这些昵称是内部的、方便的标识符,并且仅在 Firebase 控制台中对您可见。单击注册应用程序。
第 3 步:添加 Firebase 配置文件
在 Firebase 控制台设置工作流程中获取特定于平台的 Firebase 配置文件。
对于 iOS — 单击下载 GoogleService-Info.plist 。
对于 Android — 单击下载 google-services.json 。
Firebase 配置文件包含项目的唯一但非机密标识符。要了解有关此配置文件的更多信息,请访问了解 Firebase 项目。
您可以随时再次下载您的Firebase 配置文件。
确保配置文件名未附加其他字符,例如
(2)
。
打开 Unity 项目的项目窗口,然后将配置文件移动到
Assets
文件夹中。返回 Firebase 控制台,在设置工作流程中,单击下一步。
第 4 步:添加 Firebase Unity SDK
在 Firebase 控制台中,点击Download Firebase Unity SDK ,然后将 SDK 解压缩到方便的位置。
您可以随时再次下载Firebase Unity SDK 。
Firebase Unity SDK 不特定于平台。
在您打开的 Unity 项目中,导航到Assets > Import Package > Custom Package 。
从解压缩的 SDK 中,选择您要在您的应用中使用的受支持的 Firebase 产品。
启用分析
- 为 Google Analytics 添加 Firebase 包:
FirebaseAnalytics.unitypackage
- 添加您要在您的应用中使用的任何其他 Firebase 产品的软件包。例如,要使用 Firebase 身份验证和 Firebase 实时数据库:
FirebaseAuth.unitypackage
和FirebaseDatabase.unitypackage
未启用分析
添加您要在应用中使用的 Firebase 产品的软件包。例如,要使用 Firebase 身份验证和 Firebase 实时数据库:
FirebaseAuth.unitypackage
和FirebaseDatabase.unitypackage
- 为 Google Analytics 添加 Firebase 包:
在“导入 Unity 包”窗口中,单击“导入”。
返回 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 编辑器中运行。
按照与移动平台相同的说明设置桌面平台 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 产品:
火力地堡产品 | 统一包 |
---|---|
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 构建时提供便利。因此,您不需要有条件地编译代码以针对桌面。
下一步
准备启动您的应用程序:
- 在 Google Cloud Console 中为您的项目设置预算提醒。
- 监控 Firebase 控制台中的使用情况和计费仪表板,以全面了解您的项目在多个 Firebase 服务中的使用情况。
- 查看Firebase 启动清单。
在使用 Firebase 和您的 Unity 项目时遇到问题?访问Unity 故障排除和常见问题解答。