瞭解即時遠端設定


即時 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 呼叫,建議您在應用程式啟動 (或應用程式生命週期中的某個時間點) 時呼叫 fetch,並在使用者工作階段期間監聽即時 Remote Config 更新,確保您在伺服器發布最新值後立即取得最新值。

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

回呼通常適合使用 activate,為應用程式提供更新後的設定參數。請參閱「Firebase Remote Config 載入策略」,瞭解在使用即時 Remote Config 時啟用參數值的其他策略。

選擇性啟用參數值

呼叫 addOnConfigUpdateListener、 可等待變更,然後加以啟用。

這些回呼會透過參數 configUpdate 叫用。configUpdate 包含 updatedKeys、,這是啟動即時更新的變更參數鍵組合,包括:

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

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

有時,擷取 (在呼叫 fetch 方法時或透過即時 Remote Config 啟動) 不會導致用戶端更新。在這種情況下,系統不會呼叫 onUpdate 方法或完成功能。

新增及移除事件監聽器

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

這個呼叫會傳回「事件監聽器註冊」,該註冊具有名為 remove

如要停止監聽,請儲存事件監聽器註冊的參照。呼叫 remove 即可停止在這個註冊處收聽。如果這是唯一註冊的事件監聽器,呼叫 remove 會關閉與伺服器的即時連線。

雖然您「可以」手動停止監聽更新,但通常沒有必要。當應用程式進入背景時,即時 Remote Config 會自動停止聆聽更新,並在應用程式進入前景時重新啟動。

後續步驟

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