將 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 模擬器。

    • Android 適用模擬器必須使用含有 Google Play 的模擬器映像檔。

如果您尚未擁有 Unity 專案,但想試用 Firebase 產品,可以下載我們的快速入門範例

步驟 1:建立 Firebase 專案

您必須先建立 Firebase 專案,才能將 Firebase 新增至 Unity 專案。請參閱「瞭解 Firebase 專案」一文,進一步瞭解 Firebase 專案。

步驟 2:透過 Firebase 註冊應用程式

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

  1. 前往 Firebase 控制台

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

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

  3. 選取要註冊的 Unity 專案版本目標,甚至可以同時選取註冊兩個目標。

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

    • 適用於 iOS:在 iOS 軟體包 ID 欄位中輸入 Unity 專案的 iOS ID。

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

  5. (選用) 輸入 Unity 專案的平台專屬暱稱。
    這些別名是內部方便使用的 ID,只有您在 Firebase 控制台中才能看到。

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

步驟 3:新增 Firebase 設定檔

  1. Firebase 主控台設定工作流程中取得特定平台的 Firebase 設定檔。

    • iOS 裝置:按一下「Download GoogleService-Info.plist」

    • Android 版:按一下「Download google-services.json」

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

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

步驟 4:新增 Firebase Unity SDK

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

    • 您隨時可以重新下載 Firebase Unity SDK

    • Firebase Unity SDK 並非平台專屬。

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

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

    已啟用 Analytics

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

    Analytics 未啟用

    新增要用於應用程式的 Firebase 產品套件。例如,如要使用 Firebase AuthenticationFirebase Realtime Database
    FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

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

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

步驟 5:確認 Google Play 服務版本需求

Firebase Unity SDK for Android 需要 Google Play services,您必須先更新該 SDK 才能使用。

請在應用程式開頭加入下列 using 陳述式和初始化程式碼。您可以先檢查 Google Play services,並視需要將其更新為 Firebase Unity SDK 所需的版本,再呼叫 SDK 中的任何其他方法。

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 外掛程式中個別分發
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 應用程式。因此,您不需要依條件編譯程式碼,以便指定電腦。

後續步驟