設定 Firebase 專案的一般最佳實踐

本頁面提供了設定 Firebase 專案以及將應用程式註冊到專案的通用高級最佳實踐,以便您擁有使用不同環境的清晰開發工作流程。熟悉此頁面上的最佳實踐後,請查看我們的一般安全準則

了解 Firebase 專案的層次結構

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

  • Firebase 專案就像一個容器,包含所有應用程式以及為該專案配置的任何資源和服務。

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

  • 註冊到相同 Firebase 專案的所有 Firebase 應用程式共用並有權存取為該專案配置的所有相同資源和服務。這裡有些例子:

    • 註冊到相同 Firebase 專案的所有 Firebase 應用程式共用相同的後端,例如 Firebase 託管、身份驗證、即時資料庫、Cloud Firestore、雲端儲存和雲端功能。

    • 註冊到相同 Firebase 專案的所有 Firebase 應用程式都與相同 Google Analytics 屬性關聯,其中每個 Firebase 應用程式都是該屬性中的單獨資料流。

Google Cloud 專案在這個層次結構中處於什麼位置?

上圖中未顯示的 Firebase 專案層次結構的一方面是與 Google Cloud 專案的關係。 Firebase 專案實際上只是一個為其啟用了其他特定於 Firebase 的配置和服務的 Google Cloud 專案。請注意,註冊到相同 Firebase 專案的所有應用程式也共用並可以存取所有相同的 Google Cloud 資源和服務。

了解 Firebase 專案中詳細了解 Firebase 和 Google Cloud 關係

向 Firebase 專案註冊應用程式變體

以下是有關在 Firebase 專案中註冊應用變體的一些重要提示:

  • 確保從最終用戶的角度來看,註冊到 Firebase 專案的所有應用程式都是相同應用程式的平台變體。使用相同Firebase 專案註冊相同應用程式或遊戲的 iOS、Android 和 Web 版本。

  • 如果您有多個可以共用相同 Firebase 資源的建置變體,請向同一個Firebase 專案註冊這些變體。一些範例是同一專案中的部落格和 Web 應用程序,或同一專案中同一應用程式的免費版本和付費版本​​。

  • 如果您有多個基於發布狀態的建置變體(而不是像上面那樣基於常見的最終使用者活動或存取),請使用單獨的Firebase 專案註冊每個變體。一個例子是您的偵錯與發布版本 - 在其自己的 Firebase 專案中註冊每個版本。

    • 基於發布狀態的建置不應共享相同的 Firebase 資源,因為這可能會導致偵錯資料污染甚至覆蓋生產資料。

    • 每個建置變體的平台變體都應該位於同一個Firebase 專案中。例如,在「dev」Firebase 專案中註冊 iOS 和 Android 偵錯版本,因為它們都可以與相同的非產品資料和資源互動。

避免多租戶

多租戶可能會導致嚴重的配置和資料隱私問題,包括分析聚合、共享身份驗證、過於複雜的資料庫結構以及安全規則困難等意外問題。

一般來說,如果一組應用程式不共享相同的資料和配置,請強烈考慮將每個應用程式註冊到不同的 Firebase 專案。

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

下一步