了解 Firebase 項目

本頁面簡要概述了有關 Firebase 項目的幾個重要概念。如果可用,請按照鏈接查找有關功能、服務甚至其他平台的更多詳細信息。在這個頁面的底部,找到的上市通用的最佳實踐進行火力地堡項目。

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

Firebase 項目是 Firebase 的頂級實體。在項目中,您可以通過註冊 iOS、Android 或 Web 應用程序來創建 Firebase 應用程序。你火力地堡註冊您的應用程序後,您可以添加火力地堡的SDK為任意數量的火力地堡的產品,如分析,雲計算公司的FireStore,性能監視,或遠程配置。

了解這一過程在入門指南的詳細信息( iOS版|安卓|網絡|團結| C ++ )。

Firebase 項目與 Google Cloud 之間的關係

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

由於火力地堡項目谷歌的雲計算項目:

設置 Firebase 項目並註冊應用

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

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

項目名稱

當你創建一個項目,您提供的項目名稱。該標識符是在項目內部,只有名字火力地堡控制台中,谷歌雲端控制台,以及火力地堡CLI 。項目名稱未在任何公開可見的 Firebase 或 Google Cloud 產品、服務或資源中公開;它只是幫助您更輕鬆地區分多個項目。

您可以在任何時候編輯項目名稱項目設置了火力地堡控制台。項目名稱顯示在頂部窗格中。

項目編號

一個火力地堡項目(及其相關的谷歌雲項目)的項目數。這是 Google 為項目分配的全球唯一規範標識符。在配置集成和/或對 Firebase、Google 或第三方服務進行 API 調用時使用此標識符。

API 調用和項目編號

對於許多 API 調用,您需要包含項目的唯一標識符。雖然許多API接受項目的ID ,我們建議您使用的項目數進行API調用火力地堡,谷歌或第三方服務。

了解更多有關使用項目標識,尤其是項目數量,在谷歌的AIP 2510標準

查找項目編號

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

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

  • 火力地堡管理REST API:呼叫projects.list 。響應正文包含的項目數FirebaseProject對象。

項目標識

一個火力地堡項目(及其相關的谷歌雲項目)的項目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
  • 默認雲存儲桶名稱- PROJECT_ID .appspot.com

對於上述所有資源,您可以創建非默認實例。非默認值的公開可見名稱是完全可定制的。您可以自定義的域連接到火力地堡託管網站,分片的實時數據庫,並建立多個雲端存儲分區(訪問特定平台的入門頁)。

Firebase CLI 和項目 ID

對於某些用例,您可能有多個 Firebase 項目與同一個本地應用程序目錄相關聯。在這些情況下,當您使用火力地堡CLI ,你需要通過--project標誌和firebase命令傳達要與互動,其火力地堡項目。

您也可以建立一個項目別名為每個火力地堡項目,這樣你就不必記住項目的ID。

API 調用和項目 ID

對於許多 API 調用,您需要包含項目的唯一標識符。雖然許多API接受項目ID,我們建議您使用項目數量作出API調用火力地堡,谷歌或第三方服務。

了解更多有關使用項目標識,尤其是項目數量,在谷歌的AIP 2510標準

查找項目 ID

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

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

  • 火力地堡管理REST API:呼叫projects.list 。響應正文包含在該項目ID FirebaseProject對象。

Firebase 配置文件和對象

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

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

在任何時候,你可以得到一個應用程序的火力地堡配置文件或對象

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

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

  • 項目編號:跨所有火力地堡和谷歌雲計算項目用戶定義的唯一標識符。此標識符可能出現在某些 Firebase 資源的 URL 或名稱中,但通常應將其視為引用項目的方便別名。 (示例值: myapp-project-123

  • 應用程序ID(“的AppID”):跨所有火力地堡的火力地堡應用與平台的特定格式的唯一標識符:

    • 火力iOS應用: GOOGLE_APP_ID (例如值: 1:1234567890:ios:321abc456def7890
      不是蘋果的捆綁ID。
    • 火力Android應用: mobilesdk_app_id (例如值: 1:1234567890:android:321abc456def7890
      不是一個Android包名稱或Android應用程序ID。
    • 火力Web應用程序: appId (例如值: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c

Firebase 配置文件或對象的內容被視為公開的,包括應用的平台特定 ID(iOS 包 ID 或 Android 包名稱)和 Firebase 項目特定的值,例如 API 密鑰、項目 ID、實時數據庫 URL 和Cloud Storage 存儲分區名稱。鑑於此,使用火力地堡的安全規則,保護您的數據和文件的實時數據庫雲計算公司的FireStore雲存儲

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

管理 Firebase 項目

確保審查一般項目級的最佳實踐(在本頁面底部)的考慮,可能會影響你如何管理一個火力地堡項目。

管理項目的工具

Firebase 控制台

火力地堡控制台提供了管理火力地堡的產品,應用程序和項目級設置最豐富的環境。

Firebase 控制台 - 項目概覽屏幕

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

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

Firebase CLI(命令行工具)

火力地堡還提供火力CLI配置和管理特定的火力地堡產品,如火力託管和雲功能進行火力地堡。

安裝CLI之後,你可以訪問全球firebase命令。使用CLI本地app目錄鏈接到火力地堡項目,然後部署火力地堡託管的內容的新版本或更新的功能。

Firebase 管理 REST API

使用火力地堡管理REST API ,你可以通過編程管理火力地堡項目。例如,可以通過編程註冊一個項目一個應用程序或列出已註冊的應用( iOS版|安卓|網絡)。

一般最佳實踐

將應用程序添加到項目

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

如果您有多個變種構建不同的iOS捆綁ID或定義的Android包名,你可以註冊一個獨立的火力地堡項目每個變體。不過,如果你也有變種共享同一資源火力地堡,用相同的火力地堡項目註冊。

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

  • 每個帳戶的項目數

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

    在項目創建配額的限制是很少對大多數開發人員的關注,但如果需要的話,可以要求在工程定額增加

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

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

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

    從最終用戶的角度來看,您應該確保單個 Firebase 項目中的所有 Firebase 應用都是同一應用的平台變體。了解更多關於最佳實踐的多租戶下面。

    了解更多關於在每個項目的應用程序限制的常見問題。

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

    火力地堡主機多站點功能最多可支持每個項目36個站點。

多租戶

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

一般來說,如果一組應用程序不共享相同的數據和配置,強烈建議您註冊每個應用程序具有不同的火力地堡項目。

例如,如果您開發一個白標籤應用程序,每個獨立標記的應用程序都應該有自己的 Firebase 項目,但該標籤的 iOS 和 Android 版本可以在同一個項目中。每個獨立標記的應用程序不應(出於隱私原因)與其他應用程序共享數據。

啟動您的應用