android 升级带服务端,安卓应用升级服务端设计思路
原標題:安卓應用升級服務端設計思路
前言
去年支付寶集福卡活動玩出新花樣,增加了一種花花卡,豪稱全年幫你還花唄,一時火熱。聽到很多人在說要花花卡時,不準備玩集福卡的我準備再玩一把。進入頁面功能點直接系統提示版本過低,使用此功能先更新應用程序。瞬間沒有勁頭了,還是讓其他小伙伴多點中獎機會吧。
目前智能手機隨處可見,功能越來越強大。手機的電話、短信功能逐步弱化,被各種APP 取代。一款智能手機中安裝數十個APP很常見。日常生活、工作使用的APP 問題修復或者增加新功能 頻繁更新,安裝包逐步變大,下載時間長對用戶來說是一種很糟糕的體驗。所以現在各大應用市場基本都采用了增量更新的方式,減少數據傳輸量,提供用戶體驗。
主流的手機操作系統有安卓和IOS,應用都會開發這兩個平臺的版本。安卓應用存在很多發布渠道,也可以官網自行發布,存在很多操作空間。鑒于IOS app store 有比較建全的規則,本文關注安卓應用升級服務端設計。
服務端接口設計
用戶在手機端進行操作觸發服務端升級檢測請求,或者服務端向客戶端推送升級信息。這兩種途徑都需要服務端提供一個升級檢查接口。客戶端向服務端提供當前版本信息來檢查獲取是否需要更新以及更新包地址、更新內容等信息。在接口設計過程中需要注意以下幾點:
1,檢測升級請求內容包含包名稱、當前版本號。
2,服務端檢測后返回是否升級,如果升級,則必須有升級版本編碼、升級版本、升級描述、升級包地址、包大小等。
3,如果有升級,服務端進行業務判斷,是否強制升級。根據大小版本判斷或者業務定義。
4,如果有升級,升級檢測結果中需要有升級文件簽名。客戶端下載文件后和接口返回的簽名進行比對,增加安全性控制。
5,升級包地址可進行封裝處理,使用同一的路徑 比如***/latest。涉及服務端臨時跳轉。
增量更新實現
增量更新就是將手機上已安裝apk與服務器端最新apk進行對比,得到兩個版本的差異文件及差分包,用戶更新程序時,只需要下載差分包,并在本地使用差分包與已安裝apk,合成新版apk,節省服務器和用戶的流量。例如,當前手機中已安裝微博V1,大小為12.8MB,現在微博發布了最新版V2,大小為15.4MB,我們對兩個版本的apk文件差分比對之后,發現差異只有3M,那么用戶就只需要要下載一個3M的差分包,使用舊版apk與這個差分包,合成得到一個新版本apk,提醒用戶安裝即可。
我們使用開源庫bsdiff 生成差分文件。需要注意的是bsdiff 區分windows 和linux 版本。使用java開發,將使用到JNI調用bsdiff方法。.
總結
本文為服務端更新功能基礎實現設計思路,不涉及客戶端實現策略。雖然一個小功能,具體實現時候還是有很多細節需要注意,如接口的并發支撐、后臺安裝包生成、異步上傳以及安裝包下載等,有興趣的小伙伴可以詳細研究。返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的android 升级带服务端,安卓应用升级服务端设计思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言for循环运行格式,关于for循环
- 下一篇: 安装android到u盘安装程序,在u盘