使用 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 級別 23 (Marshmallow) 以上版本
 
- 設定實體裝置或使用模擬器執行應用程式。 - Apple 平台:設定實體裝置,或使用 iOS 或 tvOS 模擬器。 
- Android:模擬器必須使用搭載 Google Play 的模擬器映像檔。 
 
- 使用 Google 帳戶登入 Firebase。
如果您還沒有 Unity 專案,只是想試用 Firebase 產品,可以下載我們的快速入門範例。
步驟 1:建立 Firebase 專案
將 Firebase 新增至 Unity 專案前,請先建立要連結至該 Unity 專案的 Firebase 專案。如要進一步瞭解 Firebase 專案,請參閱「瞭解 Firebase 專案」一文。
步驟 2:向 Firebase 註冊應用程式
您可以註冊一或多個應用程式或遊戲,與 Firebase 專案建立連結。
- 前往 Firebase 控制台。 
- 在專案總覽頁面中間,按一下「Unity」圖示 () 啟動設定工作流程。 - 如果已在 Firebase 專案中新增應用程式,請按一下「新增應用程式」,顯示平台選項。 
- 選取要註冊的 Unity 專案建構目標,或同時註冊兩個目標。 
- 輸入 Unity 專案的平台專屬 ID。 
- (選用) 輸入 Unity 專案的平台專屬暱稱。 
 這些暱稱是內部使用的便利 ID,只會顯示在Firebase控制台中。
- 按一下 [Register app] (註冊應用程式)。 
步驟 3:新增 Firebase 設定檔
- 在 Firebase 控制台設定工作流程中,取得平台專屬的 Firebase 設定檔。 - iOS 版:按一下「下載 GoogleService-Info.plist」。 
- Android 版:按一下「下載 google-services.json」。 
 
- 開啟 Unity 專案的「Project」視窗,然後將設定檔移至 - Assets資料夾。
- 返回 Firebase 控制台,在設定工作流程中按一下「下一步」。 
步驟 4:新增 Firebase Unity SDK
- 在 Firebase 控制台中,按一下「Download Firebase Unity SDK」(下載 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 編輯器和電腦平台測試遊戲,然後在開發後期部署及測試行動裝置,會比較容易。為支援這項工作流程,我們提供部分 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 產品:
| 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 會提供其餘的桌面程式庫做為虛設常式 (非功能性) 實作項目,方便您為 Windows、macOS 和 Linux 建構應用程式。因此,您不需要有條件地編譯程式碼,即可指定桌面裝置。
後續步驟
- 探索 Firebase 應用程式範例。 
- 準備發布應用程式: - 在 Google Cloud 控制台中,為專案設定預算快訊。
- 在 Firebase 控制台中監控「用量和帳單」資訊主頁,全面掌握專案在多項 Firebase 服務中的用量。
- 詳閱 Firebase 發布檢查清單。
 
- Firebase 和 Unity 專案發生問題? 請參閱 Unity 疑難排解與常見問題。