Firebase 遠程配置加載策略

Firebase 遠程配置為如何以及何時從服務器獲取新值並在您的應用中激活它們提供了很大的靈活性,允許您通過控制任何可見配置更改的時間來確保高質量的最終用戶體驗。本指南著眼於一些加載策略,並討論了為您的應用選擇最佳選項的關鍵注意事項。

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

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

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

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

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

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

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

  1. 啟動時,立即激活先前獲取的值。這將應用您在上一個會話中從服務器下載的任何值,並且幾乎是即時的。
  2. 當用戶與您的應用交互時,根據默認的最小獲取間隔啟動異步調用以獲取新值。
  3. 在 fetch 調用的完成處理程序或回調中,什麼都不做。您的應用程序將保留下載的值,直到您下次啟動應用程序時激活它們。

使用這種策略,用戶等待時間大大減少。但是,用戶必須再次運行您的應用程序才能看到最新配置。您需要根據您的業務和應用程序邏輯來平衡這些注意事項。

加載反策略

您可能已經從上面關於加載利弊的討論中了解到,有幾種使用模式需要避免。

  • 不要在用戶查看 UI 或與之交互時更新或切換 UI 的各個方面——除非您有很強的應用或業務理由這樣做,例如刪除與剛剛結束的促銷相關的選項。
  • 不要同時發送大量的 fetch 請求,這可能會導致服務器限制您的應用程序。在大多數生產場景中,發生這種情況的風險很低,但在積極開發過程中可能會成為一個問題。查看AndroidApple 平台的限制指南。
  • 不要依賴網絡連接來獲取遠程配置值。設置應用內默認參數值,以便您的應用始終按預期運行。您可以使用下載的模板默認值定期保持應用程序和遠程配置後端默認值同步。

下一步

這三個基本策略無論如何都不包含加載配置值的方法的完整列表。根據您的需要,您可以設計更複雜的策略,例如實時傳播更新中描述的功能驅動的後台更新。

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