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