接口参数
参数名 | 类型 | 释义 |
---|---|---|
versionNum | string | 最新版本号 |
updateInfo | string | 更新内容 |
updateStyle | int | 推荐更新 1;强制更新 2 |
downloadURL | string | 应用下载地址 |
客户端处理
- 对比版本号:当本地版本号低于后台返回的版本号时,显示更新提示;
- 判断更新类型,是强制更新还是推荐更新。强制更新是只能点击【立即更新】按钮,推荐更新可以【稍后再说】。
强制更新使用的情况主要有两种:
- 老版本存在严重bug或安全漏洞;
- 更新一段时间后,需要维护的版本就会很多,此时可以选择老旧的版本选择放弃维护;
- 根据后台给定的url跳转到应用市场该应用的下载页。
以iOS为例:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:downloadURL]];
补充:
推荐更新提示会影响用户体验,适当使用一些策略减轻对用户的干扰。如:只在WiFi下才会提示;使用随机数来随机显示,而不是每次都显示。
强制更新完成跳转更新后记得把程序杀死,不然可以返回继续使用,起不到强制更新的作用,杀死方法:
abort()
;版本检测的数据请求一定要放在程序一启动就会运行的文件里。如果所有页面都继承自
BaseViewController
,那推荐放在BaseViewController
。iOS在APP内不要做检测更新的功能,这违背了App Store应用审核指南;但这个弹框Apple的审核人员是看不到的,所以这个没问题。
iOS获取应用版本号的方法:
NSString * versionName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
updateStyle
over.