瞭解即時遠端設定


即時遠端設定可讓您在伺服器上發布更新過的參數鍵和值。這樣一來,您就能快速更新使用遠端設定參數值控制的任何類型應用程式屬性。透過即時遠端設定更新,您可以:

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

如要進一步瞭解遠端設定的用途,請參閱「遠端設定有哪些功能?」一節。

本指南將說明:

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

即時用戶端與伺服器連線

在應用程式中實作即時遠端設定時,您會建立即時事件監聽器,開啟與遠端設定後端的 HTTP 連線。該要求包含裝置目前快取的設定版本。在系統應擷取新版伺服器端設定時,即時遠端設定伺服器會使用「撤銷訊息」來向應用程式發出信號。

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

即時遠端設定用戶端與伺服器工作流程

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

監聽更新

即時更新與遠端設定 fetch 呼叫相輔相成。建議您在應用程式啟動時 (或應用程式生命週期的某個時間點) 呼叫擷取作業,並在使用者工作階段期間監聽即時遠端設定更新,以確保在伺服器發布最新的值時能立即取得。

如要監聽更新,請呼叫 addOnConfigUpdateListener、 在監聽伺服器更新時,在應用程式取得遠端設定更新時啟動回呼。如要進一步瞭解用戶端與伺服器的關係,請參閱上一節

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

選擇性啟用參數值

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

在目前onUpdate應用程式版本有所變更的情況下,將擷取到新的範本值變更,且在同時啟用新的應用程式版本時,系統會呼叫該版本的回呼。

系統會使用參數 configUpdate 叫用這些回呼。configUpdate 包含 updatedKeys、 ,這是可啟動即時更新的變更參數鍵組合,其中包含下列項目:

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

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

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

新增及移除事件監聽器

addOnConfigUpdateListener 是即時遠端設定的主要進入點。在應用程式生命週期中首次呼叫這個事件監聽器,即可開啟後端連線。後續的呼叫會重複使用相同的連線,而即時用戶端伺服器連線中所述的撤銷訊息會經過多工處理。

呼叫會傳回「事件監聽器登錄」,其方法稱為 remove

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

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

後續步驟

如需設定遠端設定及開始監聽更新,請參閱「開始使用 Firebase 遠端設定」一文。