Firebase 遠程配置加載策略

Firebase 遠程配置為如何以及何時從服務器獲取新值並在應用程序中激活它們提供了很大的靈活性,使您可以通過控制任何可見配置更改的時間來確保優質的最終用戶體驗。您可以使用fetchAndActivate()在應用程序啟動時獲取新值,並使用實時遠程配置作為補充方法,在發布新版本的遠程配置後自動獲取最新參數值。

本指南著眼於一些加載策略,並討論為您的應用程序選擇最佳選項的關鍵考慮因素。

策略 1:加載時獲取並激活

在此策略中,您的應用程序將在您的應用程序首次啟動時調用fetchAndActivate()以從遠程配置中獲取新值,並在加載完成後立即激活它們。這種簡單的方法非常適合配置更改,不會導致 UI 中出現任何顯著的視覺變化。在用戶使用過程中用戶界面可能發生明顯變化的任何情況下都應該避免這種情況。

您的應用調用fetchAndActivate()後,可以通過調用addOnConfigUpdateListener開始實時監聽參數值更新。此方法開始偵聽對參數值的任何服務器端更新,自動獲取它們,然後調用偵聽器。一個簡單的策略是激活偵聽器中的新值。但是,正如fetchAndActivate()中提到的,對於敏感 UI,應避免立即激活。

策略 2:在加載屏幕後激活

作為對策略 1 中遇到的潛在 UI 問題的補救措施,您可以依靠加載屏幕。不要立即啟動應用程序,而是顯示加載屏幕並在完成處理程序中調用fetchAndActivate 。然後,再次使用回調或通知,關閉加載屏幕並允許用戶開始與您的應用程序交互。

如果您使用此策略,建議在加載屏幕上添加超時。 Remote Config 的一分鐘超時對於用戶的優質應用程序啟動體驗來說可能太長。

通過調用addOnConfigUpdateListener偵聽實時遠程配置更新非常適合此策略。顯示加載屏幕時添加偵聽器,然後在應用程序中的一個或多個位置使用activate() ,其中遠程配置值不會導致顯著的視覺變化。

策略 3:為下次啟動加載新值

有效的策略是加載新的配置值以在應用程序下次啟動時激活。在此策略中,您的應用程序在嘗試獲取新值之前在啟動時激活獲取的值,並假設它可能已經獲取(但尚未激活)新配置值。該策略的操作順序是:

  1. 啟動時,立即激活先前獲取的值。這將應用您在先前會話中從服務器下載的任何值,並且幾乎是即時的。
  2. 當用戶與您的應用程序交互時,啟動異步調用以根據默認的最小獲取間隔獲取新值,並添加實時配置更新偵聽器。當您的應用程序運行時,實時偵聽器將自動獲取服務器上發布的任何值。實時更新繞過最小獲取間隔設置。
  3. 在 fetch 調用的完成處理程序或回調中,不執行任何操作。您的應用程序將保留下載的值,直到您下次應用程序啟動時激活它們。

通過這種策略,用戶等待時間大大縮短。根據應用程序生命週期中的需要,將獲取和實時偵聽器策略與activate()調用相結合,可確保用戶在與應用程序交互時從遠程配置獲得最新值。

加載反策略

正如您可能從上面關於加載優缺點的討論中了解到的,有一些使用模式需要避免。

  • 當用戶查看 UI 或與之交互時,請勿更新或切換 UI 的各個方面 -除非您有充分的應用程序或業務原因這樣做,例如刪除與剛剛結束的促銷相關的選項。
  • 不要同時發送大量提取請求,這可能會導致服務器限制您的應用程序。如果您需要頻繁獲取更新,請使用實時遠程配置。雖然在大多數生產場景中限制的風險較低,但在主動開發過程中這可能會成為一個問題,而實時遠程配置就是針對此用例而設計的。查看節流指南
  • 不要依賴網絡連接來獲取遠程配置值。設置應用內默認參數值,以便您的應用始終按預期運行。您可以使用下載的模板默認值定期保持應用程序和遠程配置後端默認值同步。

下一步

這三種基本策略無論如何都不包含加載配置值的方法的完整列表。根據您的需求,您可以設計更複雜的策略。

查看適用於您的平台的 API 參考,了解有關獲取和激活配置值的特定調用的更多信息。