Catch up on highlights from Firebase at Google I/O 2023. Learn more

了解實時遠程配置


實時遠程配置可讓您在服務器上發布更新的參數鍵和值後立即接收它們。這使您可以快速更新使用遠程配置參數值控制的任何類型的應用程序屬性。通過實時遠程配置更新,您可以:

  • 通過向目標用戶逐步推出功能並在需要時執行緊急回滾來降低風險。
  • 通過在用戶使用應用程序時快速自定義用戶體驗來提高用戶參與度。例如,您可以更新橫幅並為匹配特定 Google Analytics 用戶屬性的用戶提供獎勵,或者動態調整玩家隊列的遊戲難度。
  • 減少構建依賴性並提高開發人員的工作效率:使用遠程配置參數作為功能標誌,為您的開發和測試團隊公開功能,同時在生產中對用戶隱藏。

要了解有關使用 Remote Config 的方式的更多信息,請參閱您可以使用 Remote Config 做什麼?

在本指南中,您將:

  • 詳細了解支持實時更新的客戶端-服務器關係。
  • 了解 SDK 中實時功能的工作原理。
  • 了解如何使用實時更新來使您的應用配置保持最新。

實時客戶端-服務器連接

當您在您的應用程序中實施實時遠程配置時,您會創建一個實時偵聽器,用於打開到遠程配置後端的 HTTP 連接。該請求包括當前緩存在設備上的配置版本。當應該獲取較新版本的服務器端配置時,實時遠程配置服務器使用無效消息向應用發出信號。

如果服務器有更新的版本,它會立即發送失效信號。如果它沒有更新的版本,它會保持連接打開並等待一個版本發佈到服務器上。當客戶端SDK收到失效信號時,會自動獲取,然後調用你打開監聽連接時註冊的監聽回調。此提取類似於您可以使用 SDK 進行的提取調用,但會繞過任何緩存或minimumFetchInterval設置。當應用程序在前台時,客戶端-服務器連接會保持。

實時遠程配置客戶端-服務器工作流

由於客戶端-服務器連接是通過 HTTP 建立的,因此它不需要對其他庫的任何依賴。

收聽更新

實時更新補充了遠程配置fetch調用。我們建議在您的應用程序啟動時(或在您的應用程序生命週期中的某個時間)調用 fetch 並在用戶會話期間偵聽實時遠程配置更新,以確保您在服務器上發佈時立即獲得最新值。

要偵聽更新,請調用addOnConfigUpdateListener 、實現回調,只要應用程序中有遠程配置更新可用,就會調用該回調.在幕後,此調用開始偵聽來自遠程配置服務器的更新。要了解有關客戶端-服務器關係的更多信息,請參閱上一節

回調通常是使用activate使更新的配置參數可用於您的應用程序的好地方。有關在使用實時遠程配置時激活參數值的其他策略,請參閱Firebase 遠程配置加載策略

有選擇地激活參數值

當您調用addOnConfigUpdateListener 、時,您可以等待更改並激活它。

當自動獲取模板的新版本以及該新版本更改了應用程序中當前激活的參數值時,將調用onUpdate回調。

這些回調是使用參數configUpdate調用的。 configUpdate包含updatedKeys 、是啟動實時更新的更改參數鍵集,包括以下內容:

  • 添加或刪除參數鍵
  • 值已更改的參數鍵
  • 元數據已更改的參數鍵(例如,Remote Config 個性化信息)
  • 值源已更改的參數鍵(例如,應用內默認值更新為服務器端值)

如果您在應用程序的特定視圖中使用實時偵聽器,則可以在激活之前檢查與該視圖相關的參數是否已更改。

有時,提取(在您調用fetch方法時啟動,或通過實時遠程配置啟動)不會導致客戶端更新。在這些情況下,不會調用onUpdate方法或完成。

添加和刪除監聽器

addOnConfigUpdateListener是實時遠程配置的主要入口點。在應用的生命週期中第一次調用此偵聽器會打開與後端的連接。隨後的調用重用相同的連接,多路復用實時客戶端-服務器連接中描述的無效消息。

該調用返回一個“監聽器註冊”,它有一個名為remove .

要停止收聽,請存儲對收聽者註冊的引用。調用remove以停止在此註冊時收聽。如果它是唯一註冊的偵聽器,則調用remove會關閉與服務器的實時連接。

雖然您可以手動停止偵聽更新,但通常沒有必要。實時遠程配置在應用程序進入後台時自動停止偵聽更新,並在應用程序進入前台時重新啟動。

下一步

查看Firebase Remote Config 入門以配置 Remote Config 並開始實時監聽更新