都知道,很多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: 'https://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
代码解析:
解锁全文需支付¥1.00,点击支付
正文结束
Ctrl + Enter