瞭解即時遠端設定


透過即時 Remote Config,您可以在伺服器上發布更新的參數鍵和值後,立即收到這些資訊。您可以使用 Remote Config 參數值,快速更新受控的任何類型應用程式屬性。透過即時 Remote Config 更新,你可以:

  • 逐步向目標使用者推出功能,並視需要執行緊急回溯,以降低風險。
  • 在使用者使用應用程式時快速自訂使用者體驗,提高使用者參與度。舉例來說,您可以更新橫幅,並為符合特定Google Analytics使用者屬性或動態調整玩家群組遊戲難度的使用者提供獎勵。
  • 減少建構依附元件並提高開發人員生產力:使用 Remote Config 參數做為功能旗標,向開發和測試團隊公開功能,同時對實際工作環境中的使用者隱藏功能。

如要進一步瞭解 Remote Config 的用途,請參閱「Remote Config 的用途」一文。

本指南將說明如何:

  • 進一步瞭解支援即時更新的用戶端/伺服器關係。
  • 瞭解 SDK 中的即時功能運作方式。
  • 瞭解如何使用即時更新功能,讓應用程式設定保持最新狀態。

即時用戶端與伺服器連線

在應用程式中導入即時 Remote Config 時,您會建立即時監聽器,開啟與 Remote Config 後端的 HTTP 連線。要求中包含目前在裝置上快取的設定版本。即時 Remote Config 伺服器會使用失效訊息,在應擷取較新版本的伺服器端設定時,向應用程式發出信號。

如果伺服器有較新版本,會立即傳送失效信號。如果沒有新版本,連線會保持開啟,並等待伺服器發布新版本。當用戶端 SDK 收到失效信號時,會自動擷取該信號,然後呼叫您開啟監聽器連線時註冊的監聽器回呼。這項擷取作業與您可透過 SDK 進行的擷取呼叫類似,但會略過任何快取或 minimumFetchInterval 設定。應用程式於前景運作時,用戶端與伺服器會維持連線。

遠端設定用戶端/伺服器即時工作流程
即時 Remote Config 用戶端/伺服器工作流程

由於用戶端與伺服器之間的連線是透過 HTTP 建立,因此不需要依附其他程式庫。

聽取最新消息

即時更新功能可輔助 Remote Config fetch 通話。建議您在應用程式啟動時 (或應用程式生命週期中的某個時間點) 呼叫擷取作業,並在使用者工作階段期間監聽即時 Remote Config 更新,確保您在伺服器發布最新值時,能立即取得這些值。

如要監聽更新,請呼叫 addOnConfigUpdateListener、 實作回呼,每當應用程式中提供 Remote Config 更新時,就會叫用該回呼。在幕後,這項呼叫會開始監聽 Remote Config 伺服器的更新。如要進一步瞭解用戶端與伺服器的關係,請參閱前一節

回呼通常是使用 activate 的好時機,可讓應用程式取得更新後的設定參數。如需在您使用即時 Remote Config 時啟用參數值的其他策略,請參閱「Firebase Remote Config 載入策略」。

選擇性啟用參數值

呼叫 addOnConfigUpdateListener、 時,您可以等待變更並啟用。

。當系統自動擷取範本的新版本,且該新版本變更了應用程式中目前啟用的參數值時,就會呼叫 onUpdate 回呼。

系統會使用 configUpdate 參數叫用這些回呼。configUpdate 包含 updatedKeys、 ,這是啟動即時更新的已變更參數鍵集,包括:

  • 新增或移除的參數鍵
  • 值已變更的參數鍵
  • 中繼資料已變更的參數鍵 (例如Remote Config個人化資訊)
  • 值來源已變更的參數鍵 (例如,應用程式內預設值更新為伺服器端值)

如果您在應用程式的特定檢視畫面中使用即時監聽器,可以先檢查與該檢視畫面相關的參數是否已變更,再啟動監聽器。

有時,擷取作業 (無論是呼叫 fetch 方法時啟動,還是由即時 Remote Config 啟動) 不會更新用戶端。在這些情況下,系統不會呼叫 onUpdate 方法或完成。

新增及移除事件監聽器

addOnConfigUpdateListener 是即時 Remote Config 的主要進入點。在應用程式生命週期中首次呼叫這個事件監聽器時,系統會開啟與後端的連線。後續呼叫會重複使用相同連線,多工處理即時用戶端/伺服器連線中說明的失效訊息。

呼叫會傳回「監聽器註冊」,其中包含名為 remove

如要停止監聽,請儲存事件監聽器註冊的參照。呼叫 remove 即可停止監聽此註冊項目。如果這是唯一已註冊的接聽程式,呼叫 remove 會關閉與伺服器的即時連線。

雖然可以手動停止監聽更新,但通常不需要這麼做。應用程式進入背景時,即時 Remote Config 會自動停止監聽更新,並在應用程式進入前景時重新啟動。

後續步驟

請參閱「開始使用 Firebase Remote Config」一文,瞭解如何設定 Remote Config即時監聽更新