使用遠端設定強制執行最低應用程式版本

隨著應用程式不斷演進,新版本可能會對後端 API 造成破壞性變更、解決重大安全漏洞,或取代已淘汰的服務和 AI 模型。在這種情況下,舊版應用程式可能無法穩定或安全地運作。

您可以使用 Remote Config,從雲端動態控管應用程式版本需求。在 Remote Config 中定義版本參數,即可提示或要求使用者更新應用程式,不必部署自訂伺服器基礎架構或發布緊急更新。

選擇更新策略

Remote Config 會提供版本參數,以便在用戶端進行評估,讓您根據變更的嚴重程度,為應用程式的更新 UI 設定兩種策略之一:

  • 強制 (封鎖) 更新:如果舊版應用程式與後端不相容,或有安全風險,您可以封鎖應用程式存取權,直到使用者更新為止。如果安裝的版本早於必要最低版本,您可以設定應用程式顯示無法關閉的對話方塊,引導使用者前往平台應用程式商店安裝最新版本。
  • 彈性 (選用) 更新:如果更新包含新功能、效能改善或次要錯誤修正,您可以設定應用程式顯示可關閉的橫幅或提示,鼓勵使用者在方便時更新,同時讓他們繼續使用應用程式。

步驟 1:在 Firebase 控制台中設定參數

如要管理應用程式版本,請在 Remote Config 範本中定義參數:

  1. 在 Firebase 控制台中,依序前往「DevOps & Engagement」 >「遠端設定」 >「Parameters」(參數) 頁面。
  2. 按一下「Add parameter」(新增參數) (如果這是第一個參數,請按一下「Create configuration」(建立設定))。
  3. 定義下列參數:
    • minimum_version:代表應用程式最早支援版本的字串 (例如 "2.4.0")。如果應用程式執行的版本早於這個值,系統會封鎖應用程式,直到更新為止。
    • latest_version (選用):代表應用程式最新可用版本的字串 (例如 "2.5.1")。如果應用程式執行的版本介於 minimum_version 和 latest_version 之間,則可顯示選用的更新建議。
    • update_url (選用):使用者可下載更新的商店網址 (例如 Google Play 商店或 Apple App Store 應用程式商店資訊)。
  4. 選用:新增平台專屬條件:
    • 由於 Android 和 Apple 應用程式通常使用不同的發布版本和商店網址,因此您可以在同一個參數下,為每個平台新增條件值。
    • 依序點選「新增條件值」>「建立條件」。為條件命名 (例如 Android App 或 iOS App),選取「應用程式」做為指定規則,然後選擇應用程式。
    • 請為每個平台條件設定適當的版本字串,並保留預設值做為備用。
  5. 依序點選「儲存」和「發布變更」,即可套用範本。

步驟 2:實作用戶端版本檢查

在用戶端,請在啟動期間根據 Remote Config 參數檢查已安裝版應用程式版本:

  1. 設定應用程式內預設值:請務必在應用程式套件中提供安全的應用程式內預設值 (例如將 minimum_version 設為初始應用程式版本,例如 "1.0.0")。這項備用設定可確保裝置離線或初始擷取要求失敗時,應用程式仍可正常運作。如需個別平台的指南,請參閱「下載 Remote Config 範本預設值」。
  2. 擷取並啟用 Remote Config:在應用程式啟動時,擷取並啟用最新的範本值。
  3. 比較版本:擷取有效的 minimum_version 和 latest_version 字串,並與目前安裝版應用程式版本進行比較。

  4. 根據版本比較結果採取行動:

    • 強制執行必要更新:如果 current_version 早於 minimum_version,則顯示全螢幕、無法關閉的強制回應快訊。停用前往應用程式其他部分的導覽功能,並提供按鈕,在平台應用程式商店中開啟 update_url。
    • 提示選用更新:如果 current_version 早於 latest_version,請顯示可關閉的對話方塊或通知,讓使用者知道有可用的更新,並提供「立即更新」或「稍後更新」選項。
    • 允許存取:否則,允許使用者進入應用程式。

最佳做法

  • 新增即時事件監聽器:如果因安全性問題或使用者體驗嚴重下降而需要更新版本,在應用程式中新增即時 Remote Config 事件監聽器,可確保版本需求變更立即在有效裝置上生效,不必等待下次排程擷取作業或應用程式重新啟動。
  • 先對有限的測試群組進行測試:在對所有正式版使用者提高minimum_version之前,請先對有限的測試群組測試條件,或使用自訂使用者屬性指定內部測試人員。這項測試可驗證封鎖互動視窗是否正確顯示,以及商店連結是否能正確解析。
  • 使用平台應用程式內更新 API:在 Android 上,建議您整合 Google Play 應用程式內更新和 Remote Config 檢查,讓使用者不必離開應用程式,就能下載及安裝更新。
  • 閱讀正式環境檢查清單:請參閱 Firebase 發布檢查清單和 AI Logic 正式環境檢查清單,進一步瞭解如何準備應用程式和 AI 功能,以便正式推出。