瞭解 Firebase 專案

本頁簡要概述 Firebase 專案的幾項重要概念。如有需要,請點選連結,進一步瞭解功能、服務、工具和最佳做法。

Firebase 專案、應用程式和產品之間的關係

Firebase 專案是 Firebase 的頂層實體。在專案中,您可以註冊 Apple、Android 或網頁應用程式。向 Firebase 註冊應用程式後,您可以為任意數量的 Firebase 產品新增 Firebase SDK,例如 Analytics、Cloud Firestore、Performance Monitoring 或 Remote Config。

如要進一步瞭解這項程序,請參閱您所用平台的入門指南:
iOS+ | Android | 網頁 | Unity | C++ | Flutter。

瞭解 Firebase 專案的階層結構

Firebase 專案的基本階層圖,包括專案、已註冊的應用程式,以及佈建的資源和服務 這張圖表顯示 Firebase 專案的基本階層。以下是主要關係:

  • Firebase 專案就像容器,可容納所有應用程式,以及為專案佈建的任何資源和服務。

  • 一個 Firebase 專案可以註冊一或多個 Firebase 應用程式 (例如應用程式的 iOS 和 Android 版本,或應用程式的免費和付費版本)。

  • 註冊至同一個 Firebase 專案的所有 Firebase 應用程式,都會共用並可存取為該專案佈建的所有相同資源和服務。例如:

    • 註冊至同一個 Firebase 專案的所有 Firebase 應用程式,都會共用相同的後端,例如 Firebase Hosting、Authentication、Realtime Database、Cloud Firestore、Cloud Storage 和 Cloud Functions。

    • 凡是註冊至同一個 Firebase 專案的 Firebase 應用程式,都會與同一個 Google Analytics 資源建立關聯,而每個 Firebase 應用程式都是該資源中的獨立資料串流。

Firebase 專案與 Google Cloud 之間的關係

建立新的 Firebase 專案時,其實是在幕後建立 Google Cloud 專案。您甚至可以先建立 Google Cloud 專案,之後再將 Firebase 新增至專案。您可以將 Google Cloud 專案視為資料、程式碼、設定和服務的虛擬容器。

請注意,對於所有 Firebase 專案,Firebase 會在 Google Cloud 控制台的「IAM & Admin」(IAM 與管理) >「Labels」(標籤) 頁面中,自動為專案新增 firebase:enabled 標籤。如要進一步瞭解這個標籤,請參閱常見問題。

由於 Firebase 專案就是 Google Cloud 專案:

  • 您可以在 Firebase 控制台、Google Cloud 控制台和 Google API 控制台中存取專案並與其互動。

  • 您可以使用 Firebase CLI、gcloud CLI 和 Google 的任何 Terraform 資源與專案互動。

  • 您可以在專案中使用 Firebase 和 Google Cloud 的產品和 API。

  • 專案的 IAM 權限和角色會在 Firebase 和 Google Cloud 之間共用。專案成員 (即主體) 對 Google Cloud 專案擁有的任何存取權,也適用於 Firebase 專案,反之亦然。

  • 專案的帳單會同時計入 Firebase 和 Google Cloud 的費用。如果 Google Cloud 專案已啟用計費功能,Firebase 專案就會採用 Firebase 的即付即用 Blaze 定價方案。

  • 專案的專屬 ID (例如專案編號和專案 ID) 會在 Firebase 和 Google Cloud 之間共用。

  • 套用至 Google Cloud 專案的任何資源階層 (例如組織、資料夾等) 也會套用至 Firebase 專案。

  • 刪除專案後,該專案會從 Firebase 和 Google Cloud 中刪除。

  • 如果刪除或修改專案中的資源或資料,Firebase 和 Google Cloud 都會套用變更。

設定 Firebase 專案並註冊應用程式

您可以在 Firebase 控制台中設定 Firebase 專案並註冊應用程式 (如果是進階用途,則可使用 Firebase Management REST API 或 Firebase CLI)。設定專案及註冊應用程式時,您需要做出一些組織決策,並將 Firebase 專屬設定資訊新增至本機專案。

如果是正式版應用程式,您需要設定明確的開發工作流程,通常會涉及多個環境。請參閱開發人員工作流程說明文件,包括一般最佳做法和一般安全性指南,瞭解如何設定 Firebase 專案及註冊應用程式,建立開發工作流程。

與 Firebase 專案互動

除了產品 SDK 之外,您也可以使用多種不同的工具和介面,直接與 Firebase 專案互動。

Firebase 控制台

Firebase 控制台提供最豐富的環境,可用於管理 Firebase 產品、應用程式和專案層級設定。

控制台左側面板會列出 Firebase 產品,並依頂層類別分類。按一下左側面板頂端的 「Settings」(設定),即可存取專案設定,包括整合、存取權限和帳單。

控制台中間會顯示按鈕,可啟動設定工作流程,註冊各種應用程式。開始使用 Firebase 後,控制台的主要區域會變成資訊主頁,顯示您使用的產品統計資料。

請注意,由於 Firebase 專案也是 Google Cloud 專案,您可能會發現各種工作或產品需要您使用 Google Cloud 控制台,而非 Firebase 控制台。

Firebase CLI (指令列工具)

Firebase 也提供 Firebase CLI,用於設定及管理特定 Firebase 產品,例如 Firebase Hosting、Cloud Functions for Firebase 和 Firebase Extensions。

安裝 Firebase CLI 後,您可以使用全域 firebase 指令。使用 Firebase CLI 將本機應用程式目錄連結至 Firebase 專案,然後部署 Firebase 託管內容的新版本或函式更新。

Firebase Management REST API

您可以使用 Firebase Management REST API,以程式輔助方式管理 Firebase 專案。舉例來說,您可以透過程式輔助方式,將應用程式註冊至專案,或列出已註冊的應用程式 (iOS+ | Android | 網頁)。

Firebase 專案 ID

在 Firebase 後端和各種開發人員介面中,Firebase 專案可透過不同的 ID 識別,包括專案名稱、專案編號和專案 ID。

專案名稱

建立專案時,您需要提供專案名稱。這個 ID 是 Firebase 控制台、Google Cloud 控制台和 Firebase CLI 中專案的內部專用名稱。專案名稱不會顯示在任何公開的 Firebase 或 Google Cloud 產品、服務或資源中,只是為了方便您區分多個專案。

您隨時可以編輯專案名稱,只要前往 Firebase 控制台的「 設定」>「 一般」分頁,在頂端窗格中操作即可。

專案編號

Firebase 專案 (及其相關聯的 Google Cloud 專案) 具有專案編號。這是 Google 為專案指派的全域專屬標準 ID。用於設定整合作業,和/或向 Firebase、Google 或第三方服務傳送 API 呼叫。

專案編號無法編輯。如果刪除專案,專案編號也會一併刪除,且無法再用於任何其他專案。

專案 ID

Firebase 專案 (及其相關聯的 Google Cloud 專案) 具有專案 ID。這是使用者定義的專案專屬 ID,在所有 Firebase 和 Google Cloud 中不得重複。建立 Firebase 專案時,Firebase 會自動為專案指派專屬 ID,但您可以在專案設定期間編輯該 ID。這個 ID 通常應視為方便指稱專案的別名。

Firebase 設定檔和物件

向 Firebase 專案註冊應用程式時,Firebase 控制台會提供 Firebase 設定檔 (Apple/Android 應用程式) 或設定物件 (網頁應用程式),您可以直接新增至本機應用程式目錄。

  • 如果是 Apple 應用程式,請新增 GoogleService-Info.plist 設定檔。
  • 如果是 Android 應用程式,請新增 google-services.json 設定檔。
  • 如果是網頁應用程式,請新增 Firebase 設定物件。

您隨時可以取得應用程式的 Firebase 設定檔或物件。

Firebase 設定檔或物件會將應用程式與特定 Firebase 專案及其資源 (資料庫、儲存空間值區等) 建立關聯。設定包含「Firebase 選項」,這是 Firebase 和 Google 服務所需的參數,用於與 Firebase 伺服器 API 通訊,以及將用戶端資料與 Firebase 專案和 Firebase 應用程式建立關聯。以下是必要的最低「Firebase 選項」:

  • API 金鑰:呼叫不需要存取私人使用者資料的特定 API 時,使用的簡易加密字串 (範例值:AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)

  • 專案 ID:使用者定義的專屬 ID,用於在所有 Firebase 和 Google Cloud 中識別專案。可能會顯示在某些 Firebase 資源的網址或名稱,一般當做方便指稱專案的別名。(範例值:myapp-project-123)

  • 應用程式 ID (「AppID」):Firebase 應用程式在整個 Firebase 中的專屬 ID,格式因平台而異:

    • Firebase Apple 應用程式:GOOGLE_APP_ID (範例值:1:1234567890:ios:321abc456def7890)
      這不是 Apple 軟體包 ID。
    • Firebase Android 應用程式:mobilesdk_app_id (範例值:1:1234567890:android:321abc456def7890)
      這「不是」Android 套件名稱或 Android 應用程式 ID。
    • Firebase 網頁應用程式:appId (範例值:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

Firebase 設定檔或物件的內容視為公開,包括應用程式的平台專屬 ID (Apple 軟體包 ID 或 Android 套件名稱) 和 Firebase 專案專屬值,例如 API 金鑰、專案 ID、Realtime Database 網址和 Cloud Storage bucket 名稱。因此,請使用 Firebase Security Rules 保護 Realtime Database、Cloud Firestore 和 Cloud Storage 中的資料和檔案。

對於開放原始碼專案,我們通常不建議在原始碼控制中加入應用程式的 Firebase 設定檔或物件,因為在大多數情況下,使用者應建立自己的 Firebase 專案,並將應用程式指向自己的 Firebase 資源 (透過自己的 Firebase 設定檔或物件)。

Firebase 專案、應用程式和網站的一般限制

以下是 Firebase 專案、應用程式和網站的一般限制:

  • 每個 Google 帳戶 (電子郵件地址) 的專案數量

    • Spark 定價方案:專案建立配額僅限少量專案 (通常約 5 到 10 個)。
    • Blaze 定價方案:專案建立配額仍有限制,但連結記錄良好的 Cloud Billing 帳戶後,配額可能會增加。

    請注意下列專案建立配額限制:

    • 這項限制並非 Firebase 專屬。Firebase 的專案配額限制與 Google Cloud 相同。
    • 在極少數情況下,您可能需要要求增加專案配額。
    • 專案需要 30 天才能完全刪除,且在完全刪除前,仍會計入專案配額。

    請參閱 Firebase 建議的設定 Firebase 專案一般最佳做法。

  • 每項專案的應用程式數量

    Firebase 專案中的 Firebase 應用程式總數上限為 30 個。

    請確保單一 Firebase 專案中的所有 Firebase 應用程式,都是同一應用程式在不同平台上的版本。如要進一步瞭解多用戶群架構,請參閱最佳做法文件。

    如要進一步瞭解每項專案的應用程式數量限制,請參閱常見問題。

  • 每項專案的 Hosting 網站數量

    Firebase Hosting 多網站功能每個專案最多支援 36 個網站。

啟動應用程式