設定 Firebase 專案的一般最佳做法

本頁面提供設定 Firebase 專案的一般高階最佳做法,以及將應用程式註冊至專案的最佳做法,協助您建立開發工作流程,並使用不同的環境。熟悉本頁的最佳做法後,請參閱一般安全性指南

瞭解 Firebase 專案的階層結構

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

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

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

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

    • 註冊至相同 Firebase 專案的所有 Firebase 應用程式,都會共用相同的後端,例如 Firebase HostingAuthenticationRealtime DatabaseCloud FirestoreCloud StorageCloud Functions

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

Google Cloud 專案在這個階層中位於哪個位置?

上圖未顯示 Firebase 專案階層架構的其中一個層面,就是與 Google Cloud 專案的關係。Firebase 專案實際上只是Google Cloud專案,但已啟用額外的Firebase 專屬設定和服務。 請注意,註冊至相同 Firebase 專案的所有應用程式,也會共用並存取所有相同的 Google Cloud 資源和服務。

如要進一步瞭解 Firebase 和 Google Cloud 之間的關係,請參閱「瞭解 Firebase 專案」一文。

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

向 Firebase 專案註冊應用程式變體時,請參考以下重要提示:

  • 請確保註冊至 Firebase 專案的所有應用程式,從使用者角度來看,都是相同應用程式的平台變體。使用相同的 Firebase 專案,註冊同一款應用程式或遊戲的 iOS、Android 和網頁版本。

  • 如果您有多個可共用相同 Firebase 資源的建構變數,請使用相同的 Firebase 專案註冊這些變數。舉例來說,同一專案中的網誌和網頁應用程式,或是同一專案中應用程式的免費版和付費版。

  • 如果您有多個以發布狀態為依據的建構變體 (而非以常見的消費者活動或存取權為依據,如上所述),請為每個變體註冊個別的 Firebase 專案。舉例來說,您可分別在各自的 Firebase 專案中註冊偵錯和發布子版本。

    • 根據發布狀態建構的版本不應共用相同的 Firebase 資源,否則可能會導致偵錯資料汙染或甚至覆寫正式版資料。

    • 每個建構變數的平台變數應位於相同的 Firebase 專案中。舉例來說,在「開發」Firebase 專案中同時註冊 iOS 和 Android 的偵錯建構版本,因為這兩個版本都可以與相同的非正式版資料和資源互動。

避免多用戶群

多租戶可能會導致嚴重的設定和資料隱私權疑慮,包括分析匯總、共用驗證、過於複雜的資料庫結構,以及安全性規則方面的問題。

一般來說,如果一組應用程式未共用相同的資料和設定,強烈建議您為每個應用程式註冊不同的 Firebase 專案。

舉例來說,如果您開發的是白標應用程式,每個獨立標記的應用程式都應有自己的 Firebase 專案,而該標籤的 iOS 和 Android 版本應位於同一個 Firebase 專案中。基於隱私權考量,每個獨立標記的應用程式不應與其他應用程式共用資料。

後續步驟