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

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

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

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

//获取升级描述文件服务器地址
var updateURL = "http://www.mynet.com/path";
// check the newest application
function 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) {
	var	arr_curr = curr.split(".");
	var	arr_newest = newest.split(".");
	for (var i = 0; i < 3; i++) {
		if (parseInt(arr_newest[i]) > parseInt(arr_curr[i])) {
			return true;
		}
	}
	return false;
}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值