APP在線升級經驗分享
APP在線升級是一個通用功能,在產品的發展過程中當系統升級或者出現Bug時,需要進行升級操作。請注意,本文主要是基于我當前公司的實際需求與發展階段資源等限制,方案上有的是從簡而來。
一、場景說明
- 當系統升級優化,例如功能或者交互優化,可以提升用戶體驗,用戶可以選擇升級。
- 當系統出現嚴重Bug或者嚴重影響用戶使用的問題,強制用戶進行更新操作。
- 當系統上線APP后,發現問題,需要緊急處理,立刻停止問題版本的持續更新。
二、名詞說明
- 版本號:別名Version Name,對用戶可見,就是APP上常見的V1.0.3
- Version Code:不對用戶感知,用于APP判斷版本新舊
- 升級策略:控制APP某個版本何時以及如何升級
- 強制更新:強制用戶必須要升級APP版本,不升級不可用
三、流程
1. 整體流程
APP更新的整體流程主要是三大部分,更新APP包、發布版本、客戶端引導客戶安裝。
更新APP包:此步驟是在線下進行,包括APP的發布計劃(由產品主導定義新版本需要發布的內容),研發進行開發打包,測試,然后走線下發布流程審批,審批完成之后更新iOS的APP Store和安卓應用商店內的APP,更新都需要審核,所以發布版本都是由提前量,提前準備。軟件審核通過后不會立即發布,會和內部管理后臺設置的發布時間同步發布。
發布版本:當發布計劃的內容開發測試完成后,需要在管理平臺上創建新的版本,設置對應版本的更新策略。策略中會設置發布時間(發布會設置在未來的某個時間點),更新策略等。
客戶端引導客戶安裝:客戶端會檢測當前版本與管理平臺發布的版本是否一致,不一致會根據策略進行更新。
2. 內部管理平臺發布新版本
當需要發布新版本,需要在管理平臺發布新版本,管理平臺會按照上面的流程進行發布。
3. 移動端升級流程
當用戶啟動APP時,APP會對比當前版本與管理平臺發布的版本,如果不是最新版本,會去比較當前版本與最新版本的Version Code,決定是否要進行升級提示(更詳細的VersionCode作用請查看下方功能設計中版本管理功能說明),如果當前版本VersionCode比最新版本小,根據更新策略進行強制更新或者讓用戶選擇是否更新。
4. 異常流程
當前的異常流程只考慮發布后發現最新版包有問題,緊急停止當前發布版本包,此操作只會阻止還未更新升級到問題版本的客戶端升級,已經升級過的客戶端此流程無法處理,只能緊急修復重新發布更新版本強制用戶更新.
四、涉及業務
通過上述的升級流程,可以梳理出需要設計到的業務平臺和功能點內部
管理平臺:新增并發布版本、緊急停用版本
移動端:檢查比較版本信息、提示更新、強制更新、可選更新
五、功能設計
1. 內部管理平臺
管理平臺主要是維護管理APP的版本和每個版本的更新策略。已經異常情況下的緊急發布和緊急停用。
版本列表-發布、停用版本
版本列表會顯示所有的版本記錄,列表顯示字段如上圖所示。
版本區分為iOS和安卓,兩者獨立互不影響。安卓和iOS邏輯都是一致的。同時只能有一條記錄處于發布狀態,當前處于發布狀態的版本即可理解為最新版本。
針對每條發布記錄,根據狀態可以進行不同操作,已停用的版本,可以查看二維碼下載APP包,已發布的版本可以查看二維碼和停用,未生效的版本可以查看二維碼、發布和刪除。
在進行發布和停用操作時,會強制操作人填寫停用或者發布的原因。
新增版本
軟件創建新版本的時候,需要上傳APP的包,版本號和Version Code通過上傳的包系統自動識別。版本號和Version Code全局保持唯一。
更新策略:可以選擇強制更新和非強制更新,強制更新時,用戶必須要更新,否則不能使用APP,非強制更新時,只要用戶的版本高于最低兼容版本,用戶可以選擇不升級,不影響使用。
最低兼容版本:選擇已經發布過的所有版本,當客戶端的版本低于最低兼容版本時,會強制用戶升級到當前版本。此產品是B端產品,并且處在發展階段,當前公司沒有足夠的人力資源可以滿足兼容遠古版本的能力,所以增加了最低兼容版本字段,可以幫助后期的接口變動等問題不會影響使用。
更新提示用于在移動端升級時進行提示。
預計發布時間設定該版本什么時候發布,達到時間系統會自動停用當前已發布版本并發布此版本,發布時間做了操作限制,只能選擇第二天的時間,防止誤操作,如果需要立即發布,可以創建完成后在列表進行發布操作。
客戶端
強制更新
客戶端打開應用時,檢測到有新版本并且是強制更新,會彈窗提示用戶,此時用戶只能點擊立即更新。用戶點擊更新后,優先在應用內從平臺下載包安裝,如果手機有限制,不允許應用內安裝,點擊后跳轉對應的應用商店更新,例如蘋果跳轉到APP Sotre進行升級。
可選更新
客戶端打開應用時,檢測到可選更新,彈窗提示用戶,此時用戶可以選擇立即更新,也可以選擇忽略更新。用戶點擊更新后,優先在應用內從平臺下載包安裝,如果手機有限制,不允許應用內安裝,點擊后跳轉對應的應用商店更新。用戶點擊忽略更新后,此版本不再提示用戶。
提醒機制當前從簡而作,只在第一次檢測到時提示用戶。
手動檢查更新
用戶可以在我的-關于APP中點擊版本更新,當有新版本時彈窗提示用戶更新內容,用戶選擇更新在后臺進行更新不影響操作。如果當前版本是最新版本,點擊時提示用戶當前版本為最新版本。
六、總結
以上是關于APP在線升級的功能設計,上述設計是基于我當前管理產品的實際情況而來,有很多功能點并不完善,在用戶體驗上也有所欠缺,后續在產品的迭代中也會對此進行優化。
本次編寫此文章一是為了記錄學習,二是希望能給需要的人一點靈感和思路。正如本人名稱“菜雞弟弟”,歡迎各位產品經理一起交流溝通。
本文由 @菜雞弟弟 原創發布于人人都是產品經理。未經作者許可,禁止轉載
題圖來自Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務
- 目前還沒評論,等你發揮!