Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

了解 Firebase 項目

本頁面簡要概述了有關 Firebase 項目的幾個重要概念。如果可用,請按照鏈接查找有關功能、服務甚至其他平台的更多詳細信息。在此頁面底部,找到 Firebase 項目的一般最佳實踐列表。

Firebase 項目、應用和產品之間的關係

Firebase 項目是 Firebase 的頂級實體。在項目中,您可以通過註冊 iOS、Android 或 Web 應用程序來創建 Firebase 應用程序。在 Firebase 註冊您的應用後,您可以為任意數量的Firebase 產品添加 Firebase SDK,例如 Analytics、Cloud Firestore、性能監控或遠程配置。

在入門指南( iOS | Android | web | Unity | C++ )中了解有關此過程的更多詳細信息。

Firebase 項目與 Google Cloud 之間的關係

當您創建的火力地堡控制台一個新的火力地堡的項目,你實際上是創建一個谷歌雲項目的幕後。您可以將 GCP 項目視為數據、代碼、配置和服務的虛擬容器。 Firebase 項目是一個 Google Cloud 項目,它具有額外的 Firebase 特定配置和服務。您甚至可以先創建一個 Google Cloud 項目,然後再將 Firebase 添加到該項目中。

由於 Firebase 項目Google Cloud 項目:

設置 Firebase 項目並註冊應用

您可以在Firebase 控制台中設置 Firebase 項目並註冊應用程序(或者,對於高級用例,通過Firebase Management REST APIFirebase CLI )。當您設置項目和註冊應用程序時,您需要做出一些組織決策並將 Firebase 特定的配置信息添加到您的本地項目。

在設置項目和註冊應用程序之前,請務必查看一些常規項目級最佳實踐(在本頁底部)。

項目名稱

創建項目時,請提供項目名稱。此標識符是Firebase 控制台Google Cloud ConsoleFirebase CLI 中項目的僅供內部使用的名稱。項目名稱未在任何公開可見的 Firebase 或 Google Cloud 產品、服務或資源中公開;它只是幫助您更輕鬆地區分多個項目。

您可以隨時在 Firebase 控制台的項目設置中編輯項目名稱。項目名稱顯示在頂部窗格中。

項目編號

Firebase 項目(及其關聯的 Google Cloud 項目)具有項目編號。這是 Google 為項目分配的全球唯一規範標識符。在配置集成和/或對 Firebase、Google 或第三方服務進行 API 調用時使用此標識符。

API 調用和項目編號

對於許多 API 調用,您需要包含項目的唯一標識符。儘管許多 API 接受項目 ID ,但建議您使用項目編號對 Firebase、Google 或第三方服務進行 API 調用。

詳細了解如何在 Google 的AIP 2510 標準 中使用項目標識符,尤其是項目編號。

查找項目編號

  • Firebase 控制台:點擊項目設置。項目編號顯示在頂部窗格中。

  • Firebase CLI:運行firebase projects:list 。項目編號與與您的帳戶關聯的所有 Firebase 項目一起顯示。

  • Firebase 管理 REST API:調用projects.list 。響應正文包含FirebaseProject像中的項目編號。

項目標識

Firebase 項目(及其關聯的 Google Cloud 項目)具有項目 ID 。這是整個 Firebase 和 Google Cloud 中項目的用戶定義的唯一標識符。創建 Firebase 項目時,Firebase 會自動為該項目分配一個唯一 ID,但您可以在項目設置期間對其進行編輯。通常應將此標識符視為引用項目的方便別名。

如果您刪除一個項目,項目 ID 也會被刪除,並且任何其他項目都無法再次使用該 ID。

Firebase 資源和項目 ID

項目 ID 顯示在公開可見的 Firebase 資源中,例如:

  • 默認託管子域 - PROJECT_ID .web.appPROJECT_ID .firebaseapp.com
  • 默認實時數據庫 URL — PROJECT_ID -default-rtdb.firebaseio.comPROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
  • 默認 Cloud Storage 存儲分區名稱 - PROJECT_ID .appspot.com

對於上述所有資源,您可以創建非默認實例。非默認值的公開可見名稱是完全可定制的。您可以將自定義域連接到 Firebase 託管的站點,對實時數據庫進行分片,並創建多個 Cloud Storage 存儲分區(訪問特定於平台的入門頁面)。

Firebase CLI 和項目 ID

對於某些用例,您可能有多個 Firebase 項目與同一個本地應用程序目錄相關聯。在這些情況下,當您使用Firebase CLI 時,您需要將--project標誌與firebase命令一起傳遞,以傳達您想要與之交互的 Firebase 項目。

您還可以為每個 Firebase 項目設置一個項目別名,這樣您就不必記住項目 ID。

API 調用和項目 ID

對於許多 API 調用,您需要包含項目的唯一標識符。儘管許多 API 都接受項目 ID,但建議您使用項目編號對 Firebase、Google 或第三方服務進行 API 調用。

詳細了解如何在 Google 的AIP 2510 標準 中使用項目標識符,尤其是項目編號。

查找項目 ID

  • Firebase 控制台:點擊項目設置。項目 ID 顯示在頂部窗格中。

  • Firebase CLI:運行firebase projects:list 。項目 ID 與與您的帳戶關聯的所有 Firebase 項目一起顯示。

  • Firebase 管理 REST API:調用projects.list 。響應正文包含FirebaseProject像中的項目 ID。

Firebase 配置文件和對象

當您向 Firebase 項目註冊應用程序時,Firebase 控制台會提供您直接添加到本地應用程序目錄的 Firebase 配置文件(iOS/Android 應用程序)或配置對象(網絡應用程序)。

  • 對於 iOS 應用,您添加GoogleService-Info.plist配置文件。
  • 對於 Android 應用程序,您添加google-services.json配置文件。
  • 對於網絡應用,您添加一個 Firebase 配置對象。

您可以隨時獲取應用的 Firebase 配置文件或對象

Firebase 配置文件或對象將應用與特定的 Firebase 項目及其資源(數據庫、存儲桶等)相關聯。配置包括“Firebase 選項”,這是 Firebase 和 Google 服務與 Firebase 服務器 API 通信以及將客戶端數據與 Firebase 項目和 Firebase 應用相關聯所需的參數。以下是必需的最低“Firebase 選項”:

  • API 密鑰:調用某些不需要訪問私有用戶數據的 API 時使用的簡單加密字符串(示例值: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO

  • 項目 ID :用戶定義的唯一標識符,用於跨所有 Firebase 和 Google Cloud 的項目。此標識符可能出現在某些 Firebase 資源的 URL 或名稱中,但通常應將其視為引用項目的方便別名。 (示例值: myapp-project-123

  • 應用程序 ID(“AppID”) :Firebase 應用程序在所有 Firebase 中的唯一標識符,具有特定於平台的格式:

    • Firebase iOS 應用: 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(iOS 包 ID 或 Android 包名稱)和 Firebase 項目特定的值,例如 API 密鑰、項目 ID、實時數據庫 URL 和Cloud Storage 存儲分區名稱。鑑於此,請使用 Firebase 安全規則來保護實時數據庫Cloud FirestoreCloud Storage 中的數據和文件。

對於開源項目,我們通常不建議在源代碼管理中包含應用的 Firebase 配置文件或對象,因為在大多數情況下,您的用戶應該創建自己的 Firebase 項目並將他們的應用指向自己的 Firebase 資源(通過他們自己的 Firebase 配置)文件或對象)。

管理 Firebase 項目

請務必查看一般項目級最佳實踐(在本頁底部),以了解可能影響您管理 Firebase 項目方式的注意事項。

管理項目的工具

Firebase 控制台

Firebase 控制台為管理 Firebase 產品、應用和項目級設置提供了最豐富的環境。

Firebase 控制台 - 項目概覽屏幕

控制台的左側面板列出了 Firebase 產品,按頂級類別組織。在左側面板的頂部,通過單擊來訪問項目的 。項目的設置包括集成訪問權限計費

控制台中間顯示按鈕,用於啟動設置工作流以註冊各種類型的應用程序。開始使用 Firebase 後,控制台的主要區域會變成一個儀表板,顯示您使用的產品的統計信息。

Firebase CLI(命令行工具)

Firebase 還提供用於配置和管理特定 Firebase 產品的Firebase CLI ,例如 Firebase 託管和 Cloud Functions for Firebase。

安裝 CLI 後,您可以訪問全局firebase命令。使用 CLI將您的本地應用程序目錄鏈接到 Firebase 項目,然後部署新版本的 Firebase 託管內容或功能更新。

Firebase 管理 REST API

使用Firebase Management REST API ,您可以以編程方式管理 Firebase 項目。例如,您可以以編程方式向項目註冊應用程序或列出已註冊的應用程序 ( iOS | Android | web )。

一般最佳實踐

將應用程序添加到項目

從最終用戶的角度來看,確保項目中的所有應用程序都是同一應用程序的平台變體。建議使用同一 Firebase 項目註冊同一應用或遊戲的 iOS、Android 和 Web 版本。項目中的所有應用程序通常共享相同的 Firebase 資源(數據庫、存儲桶等)。

如果您有多個定義了不同 iOS 包 ID 或 Android 包名稱的構建變體,您可以使用單獨的 Firebase 項目註冊每個變體。但是,如果您有共享相同Firebase 資源的變體,請將它們註冊到相同的Firebase 項目。

以下是 Firebase 項目、應用和網站的一些一般限制:

  • 每個帳戶的項目數

    • Spark 定價計劃——項目創建配額僅限於較少數量的項目(通常約為 5-10 個)。
    • Blaze 定價計劃 - 只要關聯的 Cloud Billing 帳號信譽良好,每個帳號的項目創建配額就會大幅增加。

    大多數開發人員很少關心項目創建配額的限制,但如果需要,您可以請求增加項目配額

    請注意,完全刪除項目需要 30 天,併計入項目配額,直到項目完全刪除。

  • 每個項目的應用程序數量

    Firebase 將 Firebase 項目中的 Firebase 應用總數限制為 30。

    從最終用戶的角度來看,您應該確保單個 Firebase 項目中的所有 Firebase 應用都是同一應用的平台變體。例如,如果您開發一個白標應用,每個獨立標記的應用都應該有自己的 Firebase 項目。

    在常見問題中詳細了解每個項目的應用程序限制

  • 每個項目的託管站點數量

    Firebase 託管多站點功能支持每個項目最多 36 個站點。

多租戶

不建議將多個不同的邏輯獨立應用程序和/或網站連接到單個 Firebase 項目(通常稱為“多租戶”)。多租戶可能會導致嚴重的配置和數據隱私問題,包括分析聚合、共享身份驗證、過於復雜的數據庫結構以及安全規則困難等意外問題。

通常,如果一組應用不共享相同的數據和配置,請強烈考慮將每個應用註冊到不同的 Firebase 項目。

例如,如果您開發一個白標應用程序,每個獨立標記的應用程序都應該有自己的 Firebase 項目。每個應用程序都不會也不應該(出於隱私原因)與其他應用程序共享數據。

啟動您的應用