將 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.10.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。

在應用程序的開頭添加以下代碼。在調用 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 編輯器中運行。

  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 進行構建時提供方便。因此,您不需要有條件地編譯代碼以面向桌面。

下一步