將 Firebase 新增至您的 Unity 專案

使用 Firebase Unity SDK,提升 Unity 遊戲的效能。

為展示如何輕鬆將 Firebase 整合至 Unity 專案,我們製作了範例遊戲 MechaHamster。如要嘗試將 Firebase 新增至遊戲,請使用 GitHub 上的入門版。如要查看完整版,請前往 App StoreGoogle Play Store

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (Play 商店)


如要進一步瞭解如何運用 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 模擬器。

      如要在 iOS 或 tvOS 上使用 Cloud Messaging,請先確認符合下列必要條件:

      • 設定實體裝置
      • Apple 開發人員帳戶取得 Apple 推播通知驗證金鑰。
      • 在 XCode 中依序前往「App」>「Capabilities」,啟用推播通知。

    • Android模擬器必須使用搭載 Google Play 的模擬器映像檔。

如果您還沒有 Unity 專案,只是想試用 Firebase 產品,可以下載我們的快速入門範例

步驟 1:建立 Firebase 專案

將 Firebase 新增至 Unity 專案前,請先建立要連結至該 Unity 專案的 Firebase 專案。如要進一步瞭解 Firebase 專案,請參閱「瞭解 Firebase 專案」一文。

  1. Firebase 控制台中,按一下「新增專案」

    • 如要將 Firebase 資源新增至現有 Google Cloud 專案,請輸入專案名稱或從下拉式選單中選取專案。

    • 如要建立專案,請輸入專案名稱。您也可以選擇編輯專案名稱下方顯示的專案 ID。

  2. 如果系統顯示提示,請詳閱並接受 Firebase 條款

  3. 按一下「繼續」

  4. (選用) 為專案設定 Google Analytics,以便使用下列 Firebase 產品,獲得最佳體驗: Firebase A/B TestingCloud MessagingCrashlyticsIn-App MessagingRemote Config (包括個人化)。

    選取現有Google Analytics帳戶或建立新帳戶。如果建立新帳戶,請選取Analytics報表位置,然後接受專案的資料共用設定和Google Analytics條款。

  5. 按一下「建立專案」 (或「新增 Firebase」,如果要在現有的 Google Cloud 專案中新增 Firebase)。

Firebase 會自動為您的 Firebase 專案佈建資源。完成程序後,系統會將您帶往 Firebase 控制台的 Firebase 專案總覽頁面。

步驟 2:向 Firebase 註冊應用程式

您可以註冊一或多個應用程式或遊戲,與 Firebase 專案建立連結。

  1. 前往 Firebase 控制台

  2. 在專案總覽頁面中間,按一下「Unity」圖示 () 啟動設定工作流程。

    如果已將應用程式新增至 Firebase 專案,請按一下「新增應用程式」,顯示平台選項。

  3. 選取要註冊的 Unity 專案建構目標,或同時註冊兩個目標。

  4. 輸入 Unity 專案的平台專屬 ID。

    • iOS:在「iOS 軟體包 ID」欄位中,輸入 Unity 專案的 iOS ID。

    • Android:在「Android package name」(Android 套件名稱) 欄位中,輸入 Unity 專案的 Android ID。
      「套件名稱」和「應用程式 ID」這兩個詞彙經常互通。

    在 Unity IDE 中開啟 Unity 專案,然後前往各平台的設定部分:

    • iOS 版:依序前往「Build Settings」>「iOS」

    • Android:依序前往「Android」>「Player Settings」>「Other Settings」

    Unity 專案的 ID 是指軟體包 ID 值 (ID 範例:com.yourcompany.yourproject)。

  5. (選用) 輸入 Unity 專案的平台專屬暱稱。
    這些暱稱是內部使用的便利識別碼,只會顯示在Firebase控制台中。

  6. 按一下 [Register app] (註冊應用程式)

步驟 3:新增 Firebase 設定檔

  1. Firebase 控制台設定工作流程中,取得平台專屬的 Firebase 設定檔。

    • iOS 版:按一下「下載 GoogleService-Info.plist」

    • Android 版:按一下「Download google-services.json」(下載 google-services.json)。

    • Firebase 設定檔包含專案和應用程式的非祕密專屬 ID。如要進一步瞭解這個設定檔,請參閱「瞭解 Firebase 專案」。

    • 您隨時可以再次下載 Firebase 設定檔

    • 請確定設定檔名稱未附加額外的字元,例如 (2)

  2. 開啟 Unity 專案的「Project」視窗,然後將設定檔移至 Assets 資料夾。

  3. 返回 Firebase 控制台,在設定工作流程中按一下「下一步」

步驟 4:新增 Firebase Unity SDK

  1. Firebase 控制台中,按一下「Download Firebase Unity SDK」(下載 Firebase Unity SDK),然後在方便的位置解壓縮 SDK。

    • 您可以隨時再次下載 Firebase Unity SDK

    • Firebase Unity SDK 不限於特定平台。

  2. 在開啟的 Unity 專案中,依序前往「Assets」 >「Import Package」 >「Custom Package」

  3. 在已解壓縮的 SDK 中,選取要在應用程式中使用的支援 Firebase 產品

    • Google Analytics 新增 Firebase 套件: FirebaseAnalytics.unitypackage
    • 為要在應用程式中使用的其他 Firebase 產品新增套件。舉例來說,如要使用 Firebase AuthenticationFirebase Realtime Database
      FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

    在應用程式中,為要使用的 Firebase 產品新增套件。舉例來說,如要使用 Firebase AuthenticationFirebase Realtime Database,請新增:
    FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

  4. 在「Import Unity Package」視窗,按一下「Import」

  5. 返回 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 編輯器中執行。

  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 程式庫

Firebase Unity SDK 支援 AppleAndroid 上的下列 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 建構應用程式。因此,您不需要有條件地編譯程式碼,即可指定桌面裝置。

後續步驟