一、创建云服务空间(https://unicloud.dcloud.net.cn)
云空间用于关联需要版本控制升级的项目,如果已拥有云空间则省略此步骤。
二、搭建 uni升级中心 - 后台管理系统(升级中心 uni-upgrade-center - Admin)
uni-admin是一套基于uniCloud的开源应用管理端系统。
本插件是uni-admin系统的扩展插件,为开发者的admin系统添加功能。
需先确保本机有uni-admin项目,然后将此插件导入到uni-admin项目下。
如本机没有uni-admin项目,需要先在HBuilderX中新建项目 -> uni-app项目 -> 选择uni-admin模板。
如本机的uni-admin项目版本过老,可能无法使用新插件,需及时升级本机的uni-admin项目。
uni-admin 搭建过程和使用详见 https://ext.dcloud.net.cn/plugin?id=4470
三、需要打包的项目引入 uni升级中心 - 客户端检查更新插件(升级中心 uni-upgrade-center - App)
uni-upgrade-center-app引入过程详见https://ext.dcloud.net.cn/plugin?id=4542
四、App打包
1、两种打包形式,原生apk包和热更新wgt包
通常选择使用云端证书进行打包
此时为需要打包的app生成证书
2、我们是通过https://www.dcloud.io/ 的开发者后台
登录账号需要和app绑定的云空间保持一致
3、登录成功后,可以到我的应用里面创建应用
创建完成后进入到具体应用中,生成证书(appid是唯一的需要保持一致)
五、app发布和版本控制
1、运行步骤二搭建的uni-admin项目 登录成功后进入到uni-admin
若未发现升级中心模块则需要 添加菜单
Vue2
运行起来uniCloud admin,菜单管理模块会自动读取/uni_modules/uni-upgrade-center/menu.json文件中的菜单配置,生成【待添加菜单】,选中升级中心,点击添加选中的菜单即可
Vue3
将/uni_modules/uni-upgrade-center/menu.json 拷贝至 uniCloud/database/db_init.json 中的 opendb-admin-menus 节点下,并右键初始化数据库即可。
应用列表
点击菜单 应用管理,这里展示你所添加的 App,点击右上角 新增 可以新增一个 App
将App的信息都填写完善后,你可以在列表的操作列进行修改应用信息或者删除该应用。
注意:
删除应用会把该应用的所有版本记录同时删除
版本管理
在版本管理list的右上角点击发布新版,可以发布原生App安装包和wgt资源包。在左上角点击下拉列表,可以切换展示应用。
发布原生App安装包,在上传安装包界面填写此次发版信息
包地址
可以选择手动上传一个文件到 云存储,会自动将地址填入该项
也可以手动填写一个地址,就可以不用再上传文件
如果是发布苹果版本,包地址则为 应用在AppStore的链接
强制更新
如果使用强制更新,App端接收到该字段后,App升级弹出框不可取消
上线发行
可设置当前包是否上线发行,只有已上线才会进行更新检测
同时只可有一个线上发行版,线上发行不可更设为下线。未上线可以设为上线发行并自动替换当前线上发行
版修改当前包为上线发行,自动替换当前线上发行版
注意:版本号请填写以.分隔字符串,例如:0.0.1
发布wgt资源包
大部分配置与发布 原生App安装包 一致
原生App最低版本
上次使用新Api或打包新模块的App版本
如果此次打包wgt使用了新的api或者打包了新的模块,则在发布 wgt资源包 的时候,将此版本更新为本次版本
如果已有正式版wgt资源包,则本次新增会自动带出
静默更新
App升级时会在后台下载wgt包并自行安装。新功能在下次启动App时生效
静默更新后不重启应用,可能会导致正在访问的应用的页面数据错乱,请谨慎使用!
发布完成页面
注意:
- pages/system/upgradecenter/version/add.vue中有版本对比函数(compare)。
使用多段式版本格式(如:“3.0.0.0.0.1.0.1”, “3.0.0.0.0.1”)(比较版本的方式大致是版本号去除. 后拼接成数字比较大小,具体可以去看下载插件中的代码)。如果不满足对比规则,请自行修改。
本地的uniCloudAdmin 和待发行项目都必须关联到云空间 - 在维护老项目的时候发现有些系统内的升级插件是老的,老版本的不需要后台管理系统(升级中心 uni-upgrade-center - Admin),新版本的要。具体看官方的内容。