更新记录
1.1.0(2022-09-18)
Tag:1.1.0(Stable Release) 修复已知功能bug
1.0.6(2022-09-06)
Android:
- 新增自定义顶部图片 iOS: 1.新增自定义事件
1.0.5(2022-09-01)
Android: 1.新增应用市场跳转功能 2.新增动态设置更新标题 3.优化插件内部版本更新 4.调整UI、参数
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
UpdatePlugin
简介
一个好看又好用的版本更新的原生插件,支持整包、热更新、国际化、高度定制,内部版本管理、错误提示、国际化,简化版本更新流程,无需做热更新整包判断及版本比较等琐事,只需请求后台接口替换下参数即可完成版本更新
Tips:如若返回插件内部操作异常,请检查下参数,凡开启监听处销毁时调用下关闭监听方法
若有问题或需求加VX:Chen-Taurus-0510(请备注uniapp)
引用
// 引用插件
const updateModule = uni.requireNativePlugin("Chen-Update")
checkUpdate(OBJECT,CACLLBACK)
检查版本更新
OBJECT参数说明
参数 | 类型 | 必填 | 说明 | 平台差异 |
---|---|---|---|---|
i18n | String | 否 | 国际化,目前仅支持中(zh)英文(en)俩种语言,默认中文(zh) | |
version | String | 是 | 版本更新的版本号(例如:1.0.0) | |
versionInfo | String | 是 | 版本更新的内容 | |
versionInfoEn | String | 否 | 版本更新的内容(英文) | |
title | String | 是 | 版本更新的标题 | |
titleEn | String | 否 | 版本更新的标题(英文) | |
downloadUrl | String | 是 | 版本更新的下载包地址或下载链接 | iOS填写苹果商店的链接地址 |
updateStatus | Int | 否 | 版本更新的更新方式,1:正常更新(默认);2:强制更新;3:静默更新(需要root权限) | iOS不支持静默更新 |
isIgnorable | Boolean | 否 | 是否可忽略此版本,忽略后该版本不会再提示更新(强制更新时无效) | 仅Android |
apkSize | int | 否 | 版本更新的内容大小(包大小乘1024) | 仅Android |
apkMd5 | String | 否 | 版本更新的文件MD5效验值,保证文件唯一性,避免重复下载(在线MD5取下值或不填) | 仅Android |
topImgBg | String | 否 | 自定义更新弹窗顶部图片 | |
themeColor | String | 否 | 主题色(按钮、下载进度条颜色) | |
btnText | String | 否 | 按钮文本 | |
btnTextEn | String | 否 | 按钮文本(英文) | |
marketList | Array | 否 | 发行的应用市场列表 | 仅Android |
customAction | Boolean | 否 | 自定义事件,点击按钮回调自行逻辑操作(热更新或第三方发布页更新等其他场景) | 仅iOS |
CACLLBACK参数说明
参数 | 类型 | 说明 |
---|---|---|
success | Boolean | 操作状态值 |
data | File | 热更新wgt包文件(仅在wgt更新时返回) |
code | Int | 状态码(400:参数有误,500:安装失败,200:安装成功,0:暂无更新,10000:自定义事件) |
msg | String | 返回信息 |
示例
let options = {
i18n: 'zh',
title: "发现新版本",
titleEn: "Discover a new version",
version: '1.0.1',
versionInfo: '\r\n1、修复部分已知问题。\n2、优化了部分组件功能。\n3、新增更多使用演示。',
versionInfoEn: "\r\n1、Fix some known problems.\n2、The functions of some components are optimized.\n3、Add more usage demonstrations.",
// 该下载包是1.0.0安装完成后还是能通过更新检查
downloadUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-ed59a1a4-e5db-43ec-a32a-2095ddab07e2/57ae7847-a0ac-477f-b7f3-f54941ee4a00.wgt',
// ios苹果商店地址
// downloadUrl: "https://apps.apple.com/cn/app/%E5%BE%AE%E4%BF%A1/id836500024?mt=12",
updateStatus: 1,
// isIgnorable: true,
topImage: '/static/bg_update_top.png',
themeColor: '#ffa500',
btnText: "立即更新",
btnTextEn: "Update now",
apkSize: 12333, // apk安装包大小,不填不显示新版本包大小
// apkMd5: 'xxxxxx', // 此值不可乱填哟,apk真实md5值,安装时会对比确保app没有被攥改以及不重复下载,乱填会导致安装失败
// 跳转应用市场(会检测手机是否有安装这些应用市场,有按优先级跳转应用市场)
// marketList: ['com.huawei.market','com.xiaomi.market']
// customAction: "true" // 自定义事件,为兼容iOS其他场景
}
updateModule.checkUpdate(options,(res) => {
if (res.success && res.data){
plus.runtime.install(res.data.absolutePath, {
force: false
}, function() {
// 解决热更新不更新包信息问题做内部比较简化使用
updateModule.updateComplete()
//进行重新启动;
plus.runtime.restart();
}, (e) => {
console.log(e)
});
} else {
uni.showToast({
title:res.msg,
icon: 'none'
})
}
})