隨著應用程式不斷演進,新版本可能會對後端 API 造成重大變更、解決重大安全漏洞,或是取代已淘汰的服務和 AI 模型。在這種情況下,舊版應用程式可能無法穩定或安全地運作。
使用 Remote Config,您可以從雲端動態控管應用程式版本需求。在 Remote Config 中定義版本參數,即可提示或要求使用者更新應用程式,不必部署自訂伺服器基礎架構或發布緊急更新。
選擇更新策略
Remote Config 會提供版本參數,供您在用戶端評估,並根據變更的嚴重程度,透過下列兩種策略設定應用程式的更新 UI:
- 強制 (封鎖) 更新:如果舊版應用程式與後端不相容或有安全風險,您可以封鎖應用程式存取權,直到使用者更新為止。如果已安裝的版本低於最低需求,您可以設定應用程式顯示無法關閉的對話方塊,將使用者導向至平台應用程式商店安裝最新版本。
- 彈性 (選用) 更新:如果更新內容包含新功能、效能提升或次要錯誤修正,您可以設定應用程式顯示可關閉的橫幅或提示,鼓勵使用者在方便時更新,同時讓他們繼續使用應用程式。
步驟 1:在 Firebase 控制台中設定參數
如要管理應用程式版本,請在 Remote Config 範本中定義參數:
- 在 Firebase 控制台中,依序前往「DevOps & Engagement」(DevOps 與參與度) >「Remote Config」(遠端設定) >「Parameters」(參數) 頁面。
- 按一下「新增參數」 (或「建立設定」,如果您是第一次新增參數)。
- 定義下列參數:
minimum_version:代表應用程式支援的最早版本 (例如"2.4.0") 的字串。如果應用程式執行的版本早於這個值,系統會封鎖應用程式,直到更新為止。latest_version(選用):代表應用程式最新可用版本的字串 (例如"2.5.1")。如果應用程式執行的版本介於minimum_version和latest_version之間,可以顯示選用的更新建議。update_url(選用):使用者可下載更新的商店網址 (例如 Google Play 商店或 Apple App Store 資訊)。
- 選用:新增平台專屬條件:
- 由於 Android 和 Apple 應用程式通常會使用不同的發布版本和商店網址,因此您可以在相同參數下,為每個平台新增條件值。
- 依序點選「新增條件值」 >「建立條件」。為條件命名 (例如
Android App或iOS App),選取「應用程式」做為指定目標規則,然後選擇您的應用程式。 - 為每個平台條件設定適當的版本字串,並保留預設值做為備用。
- 按一下「儲存」,然後點選「發布變更」來套用範本。
步驟 2:實作用戶端版本檢查
在用戶端,啟動時請根據 Remote Config 參數檢查已安裝版應用程式的版本:
- 設定應用程式內預設值:請務必在應用程式套件中提供安全的應用程式內預設值 (例如將
minimum_version設為初始應用程式版本,如"1.0.0")。如果裝置處於離線狀態或初始擷取要求失敗,這項備援設定可確保應用程式繼續正常運作。如需特定平台的指引,請參閱「下載 Remote Config 範本預設值」。 - 擷取並啟用 Remote Config:在應用程式啟動時擷取並啟用最新範本值。
比較版本:擷取有效的
minimum_version和latest_version字串,並與目前安裝的應用程式版本比較。根據版本比較結果採取行動:
- 強制執行必要更新:如果
current_version早於minimum_version,請顯示全螢幕、無法關閉的強制回應模式警示。 停用應用程式其餘部分的導覽功能,並提供可開啟平台應用程式商店中update_url的按鈕。 - 提示選用更新:如果
current_version早於latest_version,請顯示可關閉的對話方塊或通知,告知使用者有可用的更新,並提供「立即更新」或「稍後」選項。 - 允許存取:否則,允許使用者繼續進入應用程式。
- 強制執行必要更新:如果
最佳做法
- 新增即時監聽器:如果因安全性問題或嚴重的使用者體驗下降而需要更新版本,在應用程式中新增即時 Remote Config 監聽器,可確保版本需求變更立即在有效裝置上生效,不必等待下次排定的擷取作業或應用程式重新啟動。
- 先向少數測試群組進行測試:在向所有正式版使用者發布
minimum_version條件前,請先向少數測試群組進行測試,或使用自訂使用者屬性,指定內部測試人員。這項測試會驗證封鎖模式是否正確顯示,以及商店連結是否能正常解析。 - 使用平台應用程式內更新 API:在 Android 上,建議整合 Google Play 應用程式內更新和 Remote Config 檢查,讓使用者下載及安裝更新,不必離開應用程式。
- 參閱正式版檢查清單:請參閱 Firebase 發布檢查清單和 AI Logic 正式版檢查清單,進一步瞭解如何準備應用程式和 AI 功能,以供正式版使用。