更新记录

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:如若返回插件内部操作异常,请检查下参数,凡开启监听处销毁时调用下关闭监听方法
若有问题或需求***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. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无