設置 Firebase 項目的一般最佳做法

此頁面提供了有關設置 Firebase 項目和將應用註冊到項目中的一般性、高級別的最佳做法,以便您擁有使用不同環境的清晰開發工作流程。熟悉此頁面上的最佳做法後,請查看我們的一般安全指南

了解 Firebase 項目的層次結構

顯示 Firebase 項目的基本層次結構的圖表,包括項目、其註冊的應用以及其預配的資源和服務此圖顯示了 Firebase 項目的基本層次結構。以下是關鍵關係:

  • Firebase 項目就像一個容器,用於存放您的所有應用以及為該項目配置的任何資源和服務。

  • Firebase 項目可以註冊一個或多個Firebase 應用(例如,應用的 iOS 和 Android 版本,或者應用的免費和付費版本​​)。

  • 註冊到同一個 Firebase 項目的所有 Firebase 應用程序共享並有權訪問為該項目配置的所有相同資源和服務。這裡有些例子:

    • 註冊到同一個 Firebase 項目的所有 Firebase 應用共享相同的後端,例如 Firebase 託管、身份驗證、實時數據庫、Cloud Firestore、Cloud Storage 和 Cloud Functions。

    • 註冊到同一個 Firebase 項目的所有 Firebase 應用都與同一個 Google Analytics(分析)媒體資源相關聯,其中每個 Firebase 應用都是該媒體資源中的一個單獨的數據流。

Google Cloud 項目在哪裡適合此層次結構?

上圖中未顯示的 Firebase 項目層次結構的一個方面是與 Google Cloud 項目的關係。 Firebase 項目實際上只是一個 Google Cloud 項目,它啟用了額外的 Firebase 特定配置和服務。請注意,註冊到同一個 Firebase 項目的所有應用也共享並可以訪問所有相同的 Google Cloud 資源和服務。

了解 Firebase 項目中詳細了解 Firebase 和 Google Cloud 的關係

向 Firebase 項目註冊應用變體

以下是向 Firebase 項目註冊應用變體的一些重要提示:

  • 從最終用戶的角度來看,確保註冊到 Firebase 項目的所有應用都是同一應用的平台變體。將同一應用或遊戲的 iOS、Android 和 Web 版本註冊到同一Firebase 項目。

  • 如果您有多個可以共享相同 Firebase 資源的構建變體,請將這些變體註冊到同一個Firebase 項目。一些示例是同一項目中的博客和 Web 應用程序,或者同一項目中同一應用程序的免費和付費版本​​。

  • 如果您有多個基於發布狀態的構建變體(而不是像上面那樣基於常見的最終用戶活動或訪問),請將每個變體註冊到單獨的 Firebase 項目。一個示例是您的調試與發布版本 - 在其自己的 Firebase 項目中註冊這些版本中的每一個。

    • 基於發布狀態的構建不應共享相同的 Firebase 資源,因為這可能會導致您的調試數據污染甚至覆蓋您的產品數據。

    • 每個構建變體的平台變體應該在同一個Firebase 項目中。例如,在“開發”Firebase 項目中註冊 iOS 和 Android 調試版本,因為它們都可以與相同的非產品數據和資源進行交互。

避免多租戶

多租戶可能會導致嚴重的配置和數據隱私問題,包括分析聚合、共享身份驗證、過於復雜的數據庫結構以及安全規則方面的問題。

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

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

下一步