即時遠端設定可讓您在伺服器上發布更新過的參數鍵和值。這樣一來,您就能快速更新使用遠端設定參數值控制的任何類型應用程式屬性。透過即時遠端設定更新,您可以:
- 逐步向目標使用者推出功能,並視需要執行緊急復原,以降低風險。
- 您可以在使用者使用應用程式時快速自訂使用者體驗,提高使用者參與度。舉例來說,您可以更新橫幅並獎勵符合特定 Google Analytics (分析) 使用者屬性的使用者,或動態調整玩家同類群組的遊戲難度。
- 減少建構依附元件並提高開發人員工作效率:使用遠端設定參數做為功能旗標,為開發和測試團隊公開功能,同時確保在實際工作環境中對使用者隱藏起來。
如要進一步瞭解遠端設定的用途,請參閱「遠端設定有哪些功能?」一節。
本指南將說明:
- 進一步瞭解支援即時更新的用戶端與伺服器關係。
- 瞭解 SDK 中的即時功能運作方式。
- 瞭解如何使用即時更新,確保應用程式設定保持在最新狀態。
即時用戶端與伺服器連線
在應用程式中實作即時遠端設定時,您會建立即時事件監聽器,開啟與遠端設定後端的 HTTP 連線。該要求包含裝置目前快取的設定版本。在系統應擷取新版伺服器端設定時,即時遠端設定伺服器會使用「撤銷訊息」來向應用程式發出信號。
如果伺服器有較新版本,就會立即傳送撤銷信號。如果沒有較新的版本,則連線會一直保持開啟,並等到已在伺服器上發布版本。當用戶端 SDK 收到無效信號時,會自動擷取信號,然後呼叫您在開啟事件監聽器連線時註冊的事件監聽器回呼。這項擷取作業類似於可透過 SDK 執行的擷取呼叫,但會略過任何快取或 minimumFetchInterval
設定。用戶端與伺服器連線會在應用程式於前景運作時維持。
由於用戶端與伺服器連線是透過 HTTP 建立,因此不需要其他程式庫的任何依附元件。
監聽更新
即時更新與遠端設定 fetch
呼叫相輔相成。建議您在應用程式啟動時 (或應用程式生命週期的某個時間點) 呼叫擷取作業,並在使用者工作階段期間監聽即時遠端設定更新,以確保在伺服器發布最新的值時能立即取得。
如要監聽更新,請呼叫
addOnConfigUpdateListener
、
在監聽伺服器更新時,在應用程式取得遠端設定更新時啟動回呼。如要進一步瞭解用戶端與伺服器的關係,請參閱上一節。
回呼通常適合使用 activate
,為應用程式提供更新後的設定參數。請參閱「Firebase 遠端設定載入策略」,瞭解在使用即時遠端設定時啟用參數值的其他策略。
選擇性啟用參數值
呼叫
addOnConfigUpdateListener
、
可等待變更,然後加以啟用。
onUpdate
應用程式版本有所變更的情況下,將擷取到新的範本值變更,且在同時啟用新的應用程式版本時,系統會呼叫該版本的回呼。
系統會使用參數 configUpdate
叫用這些回呼。configUpdate
包含
updatedKeys
、
,這是可啟動即時更新的變更參數鍵組合,其中包含下列項目:
- 已新增或移除參數鍵
- 值已變更的參數鍵
- 中繼資料已變更的參數鍵 (例如遠端設定個人化資訊)
- 值來源已變更的參數鍵 (例如,將應用程式內預設值更新為伺服器端值)
如果您在應用程式中的特定檢視畫面使用即時事件監聽器,可以先檢查與該檢視畫面相關的參數是否在啟用前有所變更。
有時擷取 (在呼叫 fetch
方法或使用即時遠端設定時啟動) 不會導致用戶端更新。在這種情況下,系統不會呼叫
onUpdate
方法或完成功能。
新增及移除事件監聽器
addOnConfigUpdateListener
是即時遠端設定的主要進入點。在應用程式生命週期中首次呼叫這個事件監聽器,即可開啟後端連線。後續的呼叫會重複使用相同的連線,而即時用戶端伺服器連線中所述的撤銷訊息會經過多工處理。
呼叫會傳回「事件監聽器登錄」,其方法稱為
remove
。
如要停止監聽,請儲存事件監聽器註冊的參照。呼叫 remove
即可停止監聽這項註冊作業。如果這是唯一已註冊的事件監聽器,呼叫 remove
會關閉與伺服器的即時連線。
後續步驟
如需設定遠端設定及開始監聽更新,請參閱「開始使用 Firebase 遠端設定」一文。