逗逗水
逗逗水
  • 发布:2018-08-31 14:29
  • 更新:2018-11-22 14:10
  • 阅读:2726

wap2app检测版本升级

分类:wap2app

参考官方文档 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));  
}  
2 关注 分享
Trust 风雅

要回复文章请先登录注册

淘券券

淘券券

回复 逗逗水 :
app内带进度条更新有办法么?
2018-11-22 14:10
逗逗水

逗逗水 (作者)

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

Trust

回复 逗逗水 :
建议这部分代码,也贴在文章的主内容里面,编辑一下就可以。
2018-08-31 14:50
逗逗水

逗逗水 (作者)

【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));
}
2018-08-31 14:34