手机开发之web方式----启动程序检查更新版本

来源:互联网 发布:阿里云备案会打电话吗 编辑:程序博客网 时间:2024/05/21 05:17

问题:在使用手机应用App时,我们都会遇到,每隔一段时间在我们登入App后,会有一个弹出框提醒用户:该应用APP有了新的版本,请前往下载。那这是如何实现的呢?我们都知道,每个程序都会有自己的版本号,以方便管理!版本号越大,说明版本越新,功能越多。

       这里提醒用户的更新消息,就是通过在用户打开应用程序后,App 会向服务器发送请求,判定当前版本是否是最新版本,如果不是最新版本,就会将最新版本的的通知消息发回给用户,让用户自己决定是否更新。

       用户端App发给服务器端的信息包括:当前版本号,我的手机平台。 服务器在不是最新版本的情况下,发回的消息至少要包括:最新版本号,最新版本下载地址。

//获取升级描述文件服务器地址var updateURL = "http://www.mynet.com/path";// check the newest applicationfunction update() {var platform = plus.os.name;var currVersion = plus.runtime.version;$.ajax({type : "post",dataType : "jsonp",url : updateURL + "?callback=?",data : {"version" : currVersion,"platform" : "Android"},success : function(data){if(!compareVersion(currVersion,data.version,<span style="font-family: Arial, Helvetica, sans-serif;">)</span><span style="font-family: Arial, Helvetica, sans-serif;">){// 无最新版本</span>return;}// 有最新版本更新plus.nativeUI.confirm("现在有最新版本,是否更新?", function(event) {if (event.index) {plus.runtime.openURL(data.url);}}, "更新提示", ["下次再说", "立即更新"]);},error : function(){// 获取更细数据失败plus.nativeUI.alert("更新失败", function(){// 回调函数}, "提示", "确定");}});}


补上:版本比较处理

/** * 比较版本大小 * @param {String} curr * @param {String} newest * @return {Boolean} 如果新版本newest大于旧版本curr则返回true,否则返回false */function compareVersion(curr, newest) {vararr_curr = curr.split(".");vararr_newest = newest.split(".");for (var i = 0; i < 3; i++) {if (parseInt(arr_newest[i]) > parseInt(arr_curr[i])) {return true;}}return false;}



0 0
原创粉丝点击