想让这个应用看起来更像原生的应用。所以想加一个版本更新功能。
mui的例子是他要传一个appid,imei,version,那他是在后台判断那个字段决定是否更新呢?
可否发个后台代码?
我试着拼接了这个请求,http://www.dcloud.io/check/update%EF%BC%9Fappid=%22HBuilder%22&version=%226.4.0%22&imei=%22355994057105988%22
但是并没有像例子中那样返回status的信息不知怎么回事?
//检查更新
document.getElementById("update").addEventListener('tap', function() {
var server = "http://www.dcloud.io/check/update"; //获取升级描述文件服务器地址
console.log(plus.runtime.appid);
console.log(plus.runtime.version);
console.log(plus.device.imei);
mui.getJSON(server, {
"appid": plus.runtime.appid,
"version": plus.runtime.version,
"imei": plus.device.imei
}, function(data) {
if (data.status) {
plus.ui.confirm(data.note, function(i) {
if (0 == i) {
plus.runtime.openURL(data.url);
}
}, data.title, ["立即更新", "取 消"]);
} else {
mui.toast('Hello MUI 已是最新版本~')
}
});
});
6 个回复
chender - 与人为善
要到自己的服务器上去检查更新吧
DCloud_UNI_CHB
因为我们的示例服务器仅处理了特定ID的应用,检测更新的服务器代码示例(php版本)如下:
其中,update.json中保存的是最新的版本信息,内容如下:
另外,更推荐大家使用
uniCloud
发布一个检查更新的云函数,详情参考:https://ext.dcloud.net.cn/plugin?id=2226切克闹 (作者)
您好,看了你们的后台代码,仅仅是比较了version。
但是示例中向服务器传了version,appid,imei,我还以为有什么特定的意义?
示例中是直接 plus.runtime.openURL(data.url);,那他是怎么在服务器端判断是什么操作系统,然后返回不同的url(android或ios)呢?
把apk直接发到服务器的文件夹中,在手机端打开那个地址www.XXXX.com/XXX/xx.apk,是通过
手机浏览器下载的吗?
2015-09-22 22:55
DCloud_UNI_CHB
我发给你的只是最简单的示例,其它逻辑需要自己实现;比如:根据UA识别操作系统。
2015-09-22 23:25
好冷 - 诚接外包,QQ:23380891
有用,收藏了
时光可见
这个是更新安卓版本的。。。但是IOS呢?
Sychel
imei就是版本,一样的回执更新数据。只是Andriod是直接下载apk,iOS是plus.runtime.openURL()跳转到AppStore更新。
2017-03-08 22:46
追梦使者
不错
1***@qq.com
mark