了解實時遠程配置


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

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

要了解有關使用遠程配置的方法的更多信息,請參閱遠程配置可以做什麼?

在本指南中,您將:

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

實時客戶端-服務器連接

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

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

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

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

收聽更新

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

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

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

有選擇地激活參數值

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

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

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

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

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

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

添加和刪除監聽器

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

該調用返回一個“偵聽器註冊”,其中有一個名為remove .

要停止偵聽,請將引用存儲到偵聽器註冊。調用remove來停止監聽這個註冊。如果它是唯一註冊的偵聽器,則調用remove將關閉與服務器的實時連接。

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

下一步

查看Firebase 遠程配置入門來配置遠程配置並開始實時偵聽更新