更新记录

1.1.0(2022-09-18)

Tag:1.1.0(Stable Release) 修复已知功能bug

1.0.6(2022-09-06)

Android:

  1. 新增自定义顶部图片 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

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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'
    })
  }
})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问