將 Firebase 添加到您的 Unity 項目

使用我們的 Firebase Unity SDK 增強您的Unity遊戲。

為了展示將 Firebase 插入 Unity 專案是多麼容易,我們製作了一個範例遊戲 MechaHamster。如果您想嘗試將 Firebase 新增到遊戲中,請使用GitHub上的入門版本。如果您想要完整版本,請查看App StoreGoogle Play 商店中的版本。

MechaHamster(GitHub)

MechaHamster(應用程式商店)

MechaHamster(Play 商店)


請造訪我們的Firebase 遊戲頁面,以了解有關使用 Firebase 增強遊戲效能的更多資訊。

已將 Firebase 新增到您的 Unity 專案中?確保您使用的是最新版本的Firebase Unity SDK

先決條件

  • 安裝 Unity 2019.1 或更高版本。早期版本也可能相容,但不會得到積極支援。對 Unity 2019.1 的支援被視為已棄用,並且在下一個主要版本後將不再主動支援。

  • (僅限 Apple 平台)安裝以下內容:

    • Xcode 13.3.1 或更高版本
    • CocoaPods 1.12.0 或更高版本
  • 確保您的 Unity 專案符合以下要求:

    • 對於 iOS — 面向 iOS 11 或更高版本
    • 對於 tvOS - 目標為 tvOS 12 或更高版本
    • 對於 Android — 目標 API 等級 19 (KitKat) 或更高版本
  • 設定實體設備或使用模擬器來運行您的應用程式。

    • 對於 Apple 平台— 設定實體裝置或使用 iOS 或 tvOS 模擬器。

    • 對於 Android模擬器必須使用 Google Play 模擬器映像。

如果您還沒有 Unity 專案而只想嘗試 Firebase 產品,則可以下載我們的快速入門範例之一。

第 1 步:建立 Firebase 項目

在將 Firebase 新增至 Unity 專案之前,您需要建立一個 Firebase 專案以連接到您的 Unity 專案。請造訪了解 Firebase 專案以了解有關 Firebase 專案的更多資訊。

步驟 2 : 向 Firebase 註冊您的應用

您可以註冊一個或多個應用程式或遊戲來與您的 Firebase 專案連線。

  1. 轉到Firebase 控制台

  2. 在專案概述頁面的中心,按一下Unity圖示 ( ) 以啟動設定工作流程。

    如果您已將應用程式新增至 Firebase 項目,請按一下新增應用程式以顯示平台選項。

  3. 選擇您想要註冊的 Unity 專案的建置目標,或者您甚至可以選擇現在同時註冊兩個目標。

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

    • 對於 iOS - 在iOS 捆綁包 ID欄位中輸入 Unity 專案的 iOS ID。

    • 對於 Android — 在Android 套件名稱欄位中輸入 Unity 專案的 Android ID。
      術語包名稱應用程式 ID通常可以互換使用。

  5. (可選)輸入 Unity 項目的平台特定暱稱。
    這些暱稱是內部方便標識符,僅您在 Firebase 控制台中可見。

  6. 點擊註冊應用程式

第 3 步:新增 Firebase 設定文件

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

    • 對於 iOS — 按一下下載 GoogleService-Info.plist

    • 對於 Android — 按一下下載 google-services.json

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

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

第 4 步:新增 Firebase Unity SDK

  1. 在 Firebase 控制台中,按一下「下載 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 驗證和 Firebase 即時資料庫:
      FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

    未啟用分析

    新增您想要在應用程式中使用的 Firebase 產品的軟體包。例如,要使用 Firebase 驗證和 Firebase 即時資料庫:
    FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

  4. 「匯入 Unity 套件」視窗中,按一下「匯入」

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

第 5 步:確認 Google Play 服務版本要求

適用於 Android 的 Firebase Unity SDK 需要Google Play 服務,該服務必須是最新的才能使用 SDK。

在應用程式的開頭加入以下using語句和初始化程式碼。在呼叫 SDK 中的任何其他方法之前,您可以檢查 Google Play 服務並將其更新為 Firebase Unity 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 故障排除和常見問題

設定桌面工作流程(測試版

當您創建遊戲時,首先在 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 產品統一包
AdMob在 AdMob Unity 外掛程式中單獨分發
分析FirebaseAnalytics.unitypackage
應用程式檢查FirebaseAppCheck.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 產品(桌面)統一包
應用程式檢查FirebaseAppCheck.unitypackage
驗證FirebaseAuth.unitypackage
雲端功能FirebaseFunctions.unitypackage
雲端Firestore FirebaseFirestore.unitypackage
雲端儲存FirebaseStorage.unitypackage
即時資料庫FirebaseDatabase.unitypackage
遠端配置FirebaseRemoteConfig.unitypackage

Firebase 將剩餘的桌面庫作為存根(非功能性)實作提供,以便在針對 Windows、macOS 和 Linux 進行建置時提供方便。因此,您不需要有條件地編譯程式碼以面向桌面。

下一步