wap2app检测版本升级

本文介绍了一种跨平台(iOS及Android)应用更新检测的方法,包括前端检测逻辑和后端响应逻辑,并强调了版本号递增及新旧版本包打包时间的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考官方文档 http://ask.dcloud.net.cn/article/12895,已完成ios及Android 更新检测,需打包测试使用:

【ps:在app.js文本的onLaunch方法中代码添加以下代码】

  var ua = navigator.userAgent;
  if(ua.indexOf('Html5Plus')>-1 && ua.indexOf('StreamApp')==-1){
         var url = "http://*********.com/update/down";//检查更新地址
          var req = {//升级检测数据
              "appid": plus.runtime.appid,
              "version": plus.runtime.version,
                       "plus":plus.os.name        //区分系统
                     };
          wap2app.ajax.get(url, req, function(rsp) {
              if(rsp && rsp.status){
                        //需要更新,提示用户
                   plus.nativeUI.confirm(rsp.note, function(event) {
                    if(0 == event.index) {//用户点击了“立即更新”按钮
                           plus.runtime.openURL(rsp.url);
                           }
                       }, rsp.title, ["立即更新", "取  消"]);
                    }            
                });
      }

【php为例,后台代码】:

public function down(){
    $appid = $_GET['appid'];
    $version = $_GET['version'];//客户端版本号
    $os= $_GET['plus']; //系统
    $rsp = array('status' => 0);//默认返回值,不需要升级;
    if (isset($appid) && isset($version)) {
        if($appid=="W2A*****.com"){//校验appid
            if($version !== "1.2"){ //最新版本号
                $rsp['status'] = 1;
                $rsp['title'] = "应用更新";
                $rsp['note'] = "添加检测版本升级;";//release notes,支持换行
            if($os == 'Android'){
                $rsp['url'] = "http://******/android.apk";//应用升级包下载地址
            }else{
                $rsp['url'] = "https://itunes.apple.com/cn/app/*****************";//应用升级包下载地址
            }
        }
    }
}
    exit(json_encode($rsp));
}

问题补充:
新版本安装包可正常下载,但是在安装新安装包时出现 ‘无法降级安装’ ,导致原因:
(1)manifest.json --》 ‘应用信息’ 中的版本号要递增;
(2)新版本安装包打包时间要晚于旧版本安装包打包时间;(直白点说:先打旧版本包,后打新版本包)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值