App更新策略課程一共有六節(jié),本節(jié)是最后一節(jié),將會(huì)給大家總結(jié)一下我們App更新的時(shí)候有那些常見場景,并依據(jù)這些場景簡單編寫一下測試用例,還將會(huì)和大家探討一下app更新模塊還可以繼續(xù)擴(kuò)展什么功能。如果沒有看過前面的課程的同學(xué)可以先學(xué)習(xí)前面的課程:
App更新策略課程-檢查更新實(shí)現(xiàn)
App更新策略課程-定義后臺(tái)更新服務(wù)
App更新策略課程-實(shí)現(xiàn)進(jìn)度更新
App更新策略課程-實(shí)現(xiàn)通知欄進(jìn)度更新
配套視頻教程:
App更新策略課程
代碼地址:
http://git.oschina.net/devilwwj/AndroidUpdateDemo
測試用例
這里我只是簡單寫了一下應(yīng)用更新是最常出現(xiàn)的場景的測試用例,測試人員在測試這樣的功能模塊的時(shí)候,可能會(huì)考慮到更多的測試場景,這就需要我們不停的去優(yōu)化測試流程去盡量滿足真實(shí)的用戶場景,比如考慮更多操作失敗時(shí)的場景,例如網(wǎng)絡(luò)切換時(shí)是否提醒用戶網(wǎng)絡(luò)已經(jīng)被切換了、網(wǎng)絡(luò)連接失敗時(shí)是否提示用戶、下載失敗之后的提示,避免重復(fù)提醒用戶更新等等。
本次課程只提供一個(gè)初步的解決方案,讓沒有這方面經(jīng)驗(yàn)的同學(xué)能明白app更新策略是如何實(shí)現(xiàn)的,并沒有做到完全適用于用戶的各種應(yīng)用場景,這需要同學(xué)們自己在實(shí)際開發(fā)中根據(jù)需求去優(yōu)化這個(gè)解決方案。
效果圖
總結(jié)
梳理流程圖
這個(gè)是最簡單的更新流程圖,更新的流程大致都是類似的,我們首先會(huì)去請(qǐng)求服務(wù)端獲取更新信息,這個(gè)是檢查更新的過程。
一般情況我們會(huì)拿到相應(yīng)的json數(shù)據(jù),舉個(gè)例子:
我們通過這樣的json數(shù)據(jù),拿到具體的更新信息,這里我們關(guān)注一下version_code,我們通過比對(duì)本地的versionCode跟服務(wù)端返回的versionCode,如果前者大,則無更新內(nèi)容,如果后者大,則提示用戶更新下載;
檢查到有更新之后,就給用戶彈窗通知用戶下載,點(diǎn)擊『取消』就不更新,點(diǎn)擊『確定』則啟動(dòng)后臺(tái)服務(wù)異步下載apk,下載成功之后如果在前臺(tái),我們可以直接跳轉(zhuǎn)到安裝界面完成安裝;如果在后臺(tái),下載成功之后會(huì)在通知欄顯示下載結(jié)果,點(diǎn)擊通知欄消息也可以跳轉(zhuǎn)到安裝界面。具體的操作流程可以根據(jù)你們的需求來調(diào)整,不一定要按照我這里的操作流程。
完成安裝之后,我們整個(gè)的app更新策略就完成了。那么我們還可以做些什么功能?如果只是簡單的實(shí)現(xiàn)更新,還不算特別復(fù)雜,就怕我們偉大的產(chǎn)品經(jīng)理提出偉(keng)大(die)的想法,比如要求app具備以下功能:
- 強(qiáng)制更新(流氓行為,用戶可能會(huì)罵街)
- 斷點(diǎn)續(xù)傳(操作流程又會(huì)復(fù)雜很多)
- 增量更新(百度一下是啥吧)
這絕對(duì)有可能有這樣的需求,這里留給同學(xué)們自己私下去實(shí)現(xiàn),本課程就不繼續(xù)講解這方面的內(nèi)容。
好啦,關(guān)于App更新策略課程已經(jīng)完結(jié),大家可以看到只是簡單的一個(gè)更新模塊,就需要我們考慮很多問題,如果讓你自己去實(shí)現(xiàn)你會(huì)怎么做,希望本套課程能給同學(xué)們帶來一定的幫助,畢竟更新升級(jí)是每個(gè)應(yīng)用最基本的模塊之一,最后謝謝同學(xué)們的耐心觀看。