制作APP關(guān)于APP版本更新功能設(shè)計(jì)的解決方法詳解,深圳APP開(kāi)發(fā)公司本文主要與各位探討APP制作的功能項(xiàng)以及APP和服務(wù)器交互,服務(wù)器端功能 服務(wù)器端應(yīng)實(shí)現(xiàn)以下功能??梢詮碾娔X上選擇并上傳APK到服務(wù)器??梢跃庉嫼惋@示更新日志。可以自動(dòng)讀取APK中的渠道號(hào)、版本號(hào)和APK大小??梢愿潞蛣h除上傳到服務(wù)器的APK,也可以暫停更新功能。
可以配置通用版本和特定渠道版本(特定渠道版本指適用于360、豌豆莢或應(yīng)用寶等某個(gè)軟件商店的版本)??梢耘渲酶绿崾镜拈g隔時(shí)間和提示次數(shù)??梢耘渲眯枰?jí)的手機(jī)機(jī)型、手機(jī)中的Android系統(tǒng)版本、IP地址和區(qū)域等??梢葬槍?duì)特定類別的用戶更新版本,實(shí)現(xiàn)灰度升級(jí),如安裝了特定渠道APK的用戶、特定型號(hào)手機(jī)的用戶、特定IP地址的用戶和特定地區(qū)的用戶等。可以配置是否強(qiáng)制升級(jí)。
關(guān)于APP端功能APP端應(yīng)實(shí)現(xiàn)以下功能。
用戶可以手動(dòng)更新版本,也可以設(shè)置是否自動(dòng)更新,默認(rèn)為開(kāi)啟狀態(tài)。如果設(shè)置自動(dòng)更新,則在APP啟動(dòng)、顯示首頁(yè)后自動(dòng)提示用戶更新版本。
上傳渠道號(hào)信息、機(jī)型、APP版本號(hào)和包名等信息給服務(wù)器。如果服務(wù)器端配置是強(qiáng)制升級(jí),則APP啟動(dòng)后,用戶必須要升級(jí),否則不能使用APP。
關(guān)于APP和服務(wù)器交互APP和服務(wù)器的交互過(guò)程如下所述。
如果是自動(dòng)更新,APP啟動(dòng)并進(jìn)入首頁(yè)后,向服務(wù)器發(fā)送POST請(qǐng)求,把APP的渠道號(hào)、用戶手機(jī)型號(hào)、APP版本號(hào)和包名等信息發(fā)給服務(wù)器;如果是用戶手動(dòng)更新,則用戶點(diǎn)擊相關(guān)功能菜單后,APP向服務(wù)器發(fā)送POST請(qǐng)求,把APP的渠道號(hào)、用戶手機(jī)型號(hào)、APP版本號(hào)和包名等信息發(fā)給服務(wù)器。發(fā)送數(shù)據(jù)的具體格式如下:{ " jsonrpc":" 2. 0", " params":{ " channel":" xxxx",
" model":" xxxx", " version":" xxxx" " packagename":" xxxx" } }
"channel":渠道號(hào),如果值為"",表示是通用版本更新。"model":手機(jī)型號(hào)。"packagename":app的包名。服務(wù)器收到請(qǐng)求后的響應(yīng)。
(1)服務(wù)器收到請(qǐng)求后,如果處理成功,返回如下數(shù)據(jù)。
{ "jsonrpc": "2. 0", "result": { " url": "http:// xxx/ xxx. apk", " version": "1. 0. 1", " size": xxxx, " fileMd5": "xxxxxxxx", " title": "xxxxxxxx" " changes": "xxxxxxxx"
" upgrade": 800, " interval": 24, " limitTimes": 99 } }
“fileMd5”:根據(jù)APK包生成的MD5值,用于校驗(yàn)APK包數(shù)據(jù)的完整性。(APP從服務(wù)器下載完APK包后,計(jì)算出MD5值,并和從服務(wù)器獲取的MD5值比較是否一致;只有一致,才會(huì)安裝下載的APK包,否則提示出錯(cuò)。)"title":提示框標(biāo)題欄顯示的文字"changes":服務(wù)器端的更新日志"upgrade":800—客戶端版本低于"version"的值,就提示升級(jí),但不強(qiáng)制升級(jí)801—強(qiáng)制升級(jí)"interval":顯示提示信息的時(shí)間間隔,以小時(shí)為單位,不支持小數(shù);默認(rèn)為24小時(shí)
"limitTimes":顯示提示信息次數(shù),不支持小數(shù);如為0,則沒(méi)有限制
(2)如果處理失敗,返回如下數(shù)據(jù)。
{ "jsonrpc": "2. 0", "result": { "error": "xxxxxx" } }
如果服務(wù)器返回處理成功的數(shù)據(jù),APP把從服務(wù)器取得的版本號(hào)和自身版本號(hào)進(jìn)行對(duì)比,并按“upgrade”的各種數(shù)值進(jìn)行不同的處理;如果服務(wù)器返回處理失敗的數(shù)據(jù),APP僅顯示給用戶提示信息。好了,APP開(kāi)發(fā)公司本文關(guān)于“制作APP關(guān)于版本更新功能設(shè)計(jì)的解決方法詳解”的APP制作知識(shí)就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。