# App升级中心管理
最低 vk-admin
版本号:1.14.0
# 功能介绍
App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包括
- Android、iOS的完整App安装包升级和wgt资源包增量更新
- 后台管理系统,用于发布新版、设置升级策略
升级中心分为两个部分:Admin管理后台 和 app前台检测更新
# 和官方的uni-upgrade-center有什么区别?
- 功能上保持和官方一致(可能会额外新增一些功能)
- 数据库字段保持和官方一致(可能会额外新增一些字段)
# 升级中心admin端
# 页面路径
- /pages_plugs/system/app-upgrade-center/list
# 相关云函数路径
- /router/service/admin/system/app-upgrade-center/
# 功能
云储存安装包CDN加速,使安装包下载的更快、更稳定
应用管理,对 App 的信息记录和应用版本管理
版本管理,可以发布新版,也可方便直观的对当前 App 历史版本以及线上发行版本进行查看、编辑和删除操作
版本发布信息管理,包括 更新标题,更新内容,版本号,静默更新,强制更新,灵活上线发行 的设置和修改
原生 App 安装包,发布 Apk 更新,用于 App 的整包更新,可设置是否强制更新
wgt 资源包,发布 wgt 更新,用于 App 的热更新,可设置是否强制更新,静默更新
App 管理列表及 App 版本记录列表搜索
# 注意
版本号格式必须是x1.x2.x3形式
- x1的范围【1-99】
- x2的范围【0-99】
- x3的范围【0-99】
- 正确的格式,如:1.0.1 、2.11.2
- 错误的格式,如:1.0.01、0.0.1
iOS的wgt更新肯定是违反apple政策的,注意事项:
- 审核期间请不要弹窗升级
- 升级完后尽量不要自行重启
- 尽量使用静默更新
# 问题
# 为什么无法添加版本?
首先,需要在应用管理里开启某个应用的App升级中心功能,然后才能添加。
# 升级中心App前台检测更新client端
可以直接使用官方的 升级中心 uni-upgrade-center - App
传送门 (opens new window)
# 代码需要更改的地方
uni_modules/uni-upgrade-center-app/utils/call-check-version.js
文件内的代码
uniCloud.callFunction({
name: 'uni-upgrade-center',
data,
success: (e) => {
console.log("e: ", e);
resolve(e)
},
fail: (error) => {
reject(error)
}
});
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
替换为
uniCloud.callFunction({
name: 'router',
data:{
$url:"user/pub/checkVersion",
data
},
success: (e) => {
console.log("e: ", e);
resolve(e)
},
fail: (error) => {
reject(error)
}
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 测试时注意
请用自定义基座打包app(因为默认基座的appid固定为HBuilder),使用访问云端云函数方式启用项目
# 调用检测更新代码示例
在 App.vue
的 onLaunch
执行下面的代码即可自动检测更新
<script>
// 引入插件
import upAPP from '@/uni_modules/uni-upgrade-center-app/utils/check-update.js'
export default {
onLaunch: function() {
// 执行更新
upAPP();
}
}
</script>
<style>
/*每个页面公共css */
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
当然你也可以手动通过按钮的形式触发更新,如
<template>
<view>
<button @click="doUpAPP">手动检查更新</button>
</view>
</template>
<script>
import upAPP from '@/uni_modules/uni-upgrade-center-app/utils/check-update.js'
export default {
data() {
return {
}
},
onLoad() {
},
methods: {
doUpAPP(){
upAPP();
}
}
}
</script>
<style>
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 如果碰到只弹窗不显示更新按钮
那是因为你没有在应用管理里编辑该应用的App信息,IOS和Android至少填写一个