移動產品基礎模塊設計規范之應用更新

2 評論 10933 瀏覽 84 收藏 5 分鐘

眾所周知,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. 新建應用更新記錄

01

建應用更新記錄,包括系統平臺、最新版本、更新版本、更新內容以及更新地址

2. 選擇更新版本

02

歷史版本中,更新 iOS 的版本,選擇強制更新或者非強制更新。

3. 修改更新版本

03

修改調整已選中的歷史版本更新標識。

4. 確認更新

04

這里我省去了最新版本、更新內容以及更新地址

客戶端展示設計

1. 非強制更新

2. 強制更新。這一點,iOS 端要慎用,慎之又慎。配置錯誤會導致比較嚴重的問題。

寫在最后

如果你的應用有分身版,在提示更新中還要增加針對分身的選項。不然,會出現分身版會成為主版的引流平臺。

 

以上,是近來設計的應用更新相關的規劃內容,希望和大家一起討論,共同進步!也希望能夠對大家有幫助!

本文由人人都是產品經理專欄作家 @鄭幾塊 授權發布于人人都是產品經理?。未經許可,禁止轉載。

 

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 我覺得還應該考慮 當非強制更新被取消時 間隔多長時間進行下一次提示

    來自北京 回復
    1. 對的,這個是很早之前的整理了,近一年半也做了兩三個應用的后臺了,你提到的部分是需要注意的

      來自北京 回復