工作这几年碰到的版本检测升级的接口也算是五花八门,啥样的都有,但肯定有的功能是有个apk的下载链接,能间接或直接提示你是强制还是非强制更新:
- 间接是指提供你后台最新版本号,让你自己与本地版本号通过比较得出是否升级;
- 直接就是后台接口直接返回个Boolean类型告诉你是强制或者非强制更新。
如感觉排版看着不舒服,前往 【App版本更新接口的设计】
个人认为一个好的版本检测接口需要设计的更灵活更清晰用起来更方便,下面就我理解的接口设计如下(如思路有误,欢迎指正):
总字段如下(并不是所有字段都要返回给客户端):
1.最新版本号 :newVersion
2.最小支持版本号 : minVersion
3.apk下载url : apkUrl
4.更新文案 : updateDescription
5.是否有更新 : isUpdate
6.是否强制更新 : forceUpdate
可选字段:
7.apk文件大小:apkSize
8.apk的文件MD5值:md5
**方案一(后端处理逻辑):**
在客户端请求参数中添加当前版本号currentVersion传输给后台,由后台根据客户端传过来的当前版本号currentVersion做相应的判断后给出是否强制更新。
**后端逻辑如下:**