之前一直用友盟的自动更新功能,但是友盟一直没有内置实现强制更新的功能,如果要在其基础上模拟实现会很麻烦,所以干脆就自己做了。
其实实现上比较简单,这里跟大家介绍下。
1. web接口
需要提供一个接口供客户端查询更新状态,并且在需要更新时,告知客户端新APK地址。
接口参数如下:
- package 包名,因为有时候会出现同一个应用换包名打包的情况
- version 版本号,即android清单文件里面的versionCode
- channel 渠道号
- os 操作系统,android/ios。ios 这里仅作预留。
之所以传入这些字段,是要在与服务器端的包匹配时,务必满足:
package, channel, os 相等,并且服务器端的version 大于 客户端传入的version
代码如下:
os = request.GET.get('os') pkg_name = request.GET.get('package') channel = request.GET.get('channel') version = request ...