都知道,很多APP都有增量更新功能,Uni APP
也是在今年初,推出了增量更新功能,今天我们就来学习一波。
当然,很多应用市场为了防止开发者不经市场审核许可,给用户提供违法内容,对增量更新大多持排斥态度,特别是apple
。所以拥有增量更新的app,需要注意以下几点:
1、上架审核期间不要弹出增量更新提示
2、增量更新内容使用https
下载,避免被三方网络劫持
3、不要更新违法内容、不要通过增量更新破坏应用市场的利益,比如iOS的虚拟支付要给Apple
抽佣等
1、如何实现增量更新功能
2、Uni-App 如何制作增量更新升级包
3、Uni-App 增量更新功能需要注意些什么
4、Uni-App 部分相关api学习
话不多说,直接上干货!
这里不是针对Uni-App
开发,所有的增量更新都应如此(但代码以Uni-App
为例)。
1、app
端,先调用服务端接口,判断是否需要更新
2、需要更新,直接下载更新升级包
3、安装升级包,app
重启即可完成升级
ok,我们以Uni-App
为例,看看代码具体实现
客户端实现
在 根目录 App.vue 的 onLaunch 中检测升级,代码如下:
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
uni.request({
url: 'http://www.javanx.cn/update/',
data: {
version: widgetInfo.version,
name: widgetInfo.name
},
success: (result) => {
var data = result.data;
if (data.update && data.wgtUrl) {
uni.downloadFile({
url: data.wgtUrl,
success: (downloadResult) => {
if (downloadResult.statusCode === 200) {
plus.runtime.install(downloadResult.tempFilePath, {
force: false
}, function() {
console.log('install success...');
plus.runtime.restart();
}, function(e) {
// 这里的错误很重要,最好能记录的服务器日志中,方便调试或以后维护了解更新错误情况,及时解决
// 如何更新到服务器?
// 调用一个接口,将e返回咯
console.error('install fail...');
});
}
}
});
}
}
});
});
// #endif
代码解析:
更多精彩内容,可以点击“立即支付”,查看隐藏内容哦!
本文由 Web秀 作者:Javan 发表,转载请注明来源!
大佬,增量升级方案,如果清除APP的缓存数据后,会恢复到安装APP时候的版本,请问该问题有解决方案没?
清除APP的缓存数据,版本是会回退,但是每次打开的时候都会去检查版本号,如果版本有差别会马上更新。
据观察,王者app也会出现这个问题,每个小版本,如果清除缓存数据,就会需要更新,所以是正常情况。
当然,用户一般不会清缓存,同时,如果增量次数特别多,可以用大版本全量更新,来解决这个问题。
希望可以帮助到你,谢谢你的支持。
大哥,你左下角那个小女孩是咋做的
有插件哦