uniapp中检测应用更新的两种方式-升级中心之uni-upgrade-center-app

uniapp一个很是用的功能,就是在我们发布新版本的app后,需要提示用户进行app更新,并告知用户我们新版的app更新信息,以使得用户能及时使用上我们新开发的功能,提升用户的实用度和粘性。注意:这个功能只能在app端使用

效果展示

方式一

  • 第一步:在App.vue中引入uni-upgrade-center-app组件中的检测方法
js 复制代码
import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update';
  • 第二步:在app.vue的onLoad中使用该方法
js 复制代码
// #ifdef APP-PLUS
// App平台检测升级,服务端代码是通过uniCloud的云函数实现的,详情可参考:https://ext.dcloud.net.cn/plugin?id=4542
if (plus.runtime.appid !== 'HBuilder') { // 真机运行不需要检查更新,真机运行时appid固定为'HBuilder',这是调试基座的appid
	checkUpdate()
}

方式二

在 uni-app x 中使用升级中心 0.7.0+

安装指引

在插件市场打开本插件页面,在右侧点击使用 HBuilderX 导入插件,选择要导入的项目点击确定 插件地址

升级中心在 uni-app x 端是 easycom 组件 可直接使用,无需在页面导入注册。在需要显示升级弹窗的页面直接使用组件即可(升级中心弹出时会调用 api 隐藏 tabbar,在关闭时会调用调用 api 显示 tabbar)

注意组件的 ref 属性

js 复制代码
<!-- 该组件的 @close 方法,会在关闭弹窗的时候调用 -->
<uni-upgrade-center-app ref="upgradePopup" @close="upgradePopupClose" />

在 script 标签内顶部引入 checkVersion 方法

js 复制代码
import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'

在需要调用的页面中(一般在首页加载完成后调用或设置页面检查更新按钮调用)执行 checkUpdate 方法,比如在 onReady 生命周期中( 注: 因为是组件所以一定要保证组件加载完毕),以下为完整使用示例:

js 复制代码
<template>
	<view>
		<!-- 页面其他内容 -->
		<uni-upgrade-center-app ref="upgradePopup" @close="upgradePopupClose" />
	</view>
</template>
<script>
	import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'
	// ...
	export default {
		// ...
		onReady() {
			// 此处的 UniUpgradeCenterAppComponentPublicInstance 类型是 easycom 组件使用约定,详见:https://doc.dcloud.net.cn/uni-app-x/component/#method-easycom
			// 此处的 'upgradePopup' 要和组件的 ref 属性一致
			checkUpdate(this.$refs['upgradePopup'] as UniUpgradeCenterAppComponentPublicInstance)
		}
		// ...
	}
</script>

当你打开调用升级中心组件的页面就会检查更新,如有更新就出弹窗。也可以在其他页面或者组件中使用。

相关推荐
用户458203153171 分钟前
Flexbox布局上手:10分钟告别垂直居中难题
前端·css
牛蛙点点申请出战2 分钟前
仿微信语音 WaveView 实现
android·前端·ios
yiyesushu3 分钟前
react + next.js + ethers v6 项目实例
前端
明远湖之鱼5 分钟前
巧用 Puppeteer + Cheerio:批量生成高质量 Emoji 图片
前端·爬虫·node.js
落笔忆梦6 分钟前
利用浏览器空闲时间优化资源加载与渲染
前端·javascript
艾小码7 分钟前
还在用Vue 2硬撑?升级Vue 3的避坑指南来了!
前端·javascript·vue.js
是晓晓吖8 分钟前
page.waitForResponse 执行环境:页面还是 Node.js?
前端·puppeteer
SY_FC8 分钟前
uniapp发布成 微信小程序 主包内 main.wxss 体积太大
微信小程序·小程序·uni-app
三十_9 分钟前
【Docker】学习 Docker 的过程中,我是这样把镜像越做越小的
前端·后端·docker
Mintopia10 分钟前
🌐 交互式 AIGC:Web 端实时反馈生成的技术架构设计
前端·javascript·aigc