移動產品基礎模塊設計規范之應用更新
眾所周知,Apple 明令禁止在 App Store 上的應用使用檢查更新的功能,那么怎么做既能滿足提示更新的需要,又能不被 App Store 察覺呢?
目前,友盟等第三方的自動更新已經面臨全面下課的境地,有些還在堅持著。友盟曾經提示過,由于 App Store 的申訴,他們可能會在今年 ?10 月份停掉自動更新的業務(有可能改為付費,或者直接關閉)。
面臨這些,我們自己開發來完成提示用戶應用更新的功能。
梳理下注意點
- 后臺做版本控制,主要是記錄當前版本以及歷史版本,并能夠發布更新日志;
- 后段做版本對比,如果有差別,會返回給客戶端,并由客戶端提示更新;
- 客戶端展示更新,通過后端返回判斷是否提示,如何提示。
流程圖解析
1. 服務端邏輯
- 客戶端發送請求至服務端,請求內容驗證 appkey,獲得 version_code(Android,iOS);
- 服務端接收到請求后,驗證消息的有效性;
- 若請求有效,則對比請求中的 version_code 是否是最新的。
- 若不是最新的,則說明需要更新;
- 有更新時,根據版本跨度提示強制更新還是非強制更新
2. 客戶端邏輯
- 用戶打開應用時,客戶端請求服務端,獲得是否有新版本更新信息;
- 如果沒有更新,客戶端沒有提示;
- 如果服務端返回有更新,客戶端會提示對應更新方式(強制、非強制)
3. 一些疑點
- 更新對 iOS 審核的影響,隱藏掉
- 如何獲得當前版本號? 讀取本地 code
- 如何對比版本號?本地與服務器返回的 code 進行比較
- 唯一標志 vision_code/vision
- 服務端驗證內容主要有:”appkey”:”xxxxxxxxxx”,”version_code”:1,channel
后臺設計展示
1. 新建應用更新記錄
建應用更新記錄,包括系統平臺、最新版本、更新版本、更新內容以及更新地址
2. 選擇更新版本
歷史版本中,更新 iOS 的版本,選擇強制更新或者非強制更新。
3. 修改更新版本
修改調整已選中的歷史版本更新標識。
4. 確認更新
這里我省去了最新版本、更新內容以及更新地址
客戶端展示設計
1. 非強制更新
2. 強制更新。這一點,iOS 端要慎用,慎之又慎。配置錯誤會導致比較嚴重的問題。
寫在最后
如果你的應用有分身版,在提示更新中還要增加針對分身的選項。不然,會出現分身版會成為主版的引流平臺。
以上,是近來設計的應用更新相關的規劃內容,希望和大家一起討論,共同進步!也希望能夠對大家有幫助!
本文由人人都是產品經理專欄作家 @鄭幾塊 授權發布于人人都是產品經理?。未經許可,禁止轉載。
評論
我覺得還應該考慮 當非強制更新被取消時 間隔多長時間進行下一次提示
對的,這個是很早之前的整理了,近一年半也做了兩三個應用的后臺了,你提到的部分是需要注意的