2023年11月26日发(作者:)
微信⼩程序发布新版本时⾃动提⽰⽤户更新的⽅法
如图,当⼩程序发布新的版本后,⽤户如果之前访问过该⼩程序,通过已打开的⼩程序进⼊(未⼿动删除),则会弹出这个提
⽰,提醒⽤户更新新的版本。⽤户点击确定就可以⾃动重启更新,点击取消则关闭弹窗,不再更新。
官⽅给的⽰例代码:
const updateManager = ateManager()
kForUpdate(function (res) {
// 请求完新版本信息的回调
(ate)
})
teReady(function () {
dal({
title: '更新提⽰',
content: '新版本已经准备好,是否重启应⽤?',
success(res) {
var self=this
// 获取⼩程序更新机制兼容
if (e('getUpdateManager')) {
const updateManager = ateManager()
//1. 检查⼩程序是否有新版本发布
kForUpdate(function (res) {
// 请求完新版本信息的回调
if (ate) {
//2. ⼩程序有新版本,则静默下载新版本,做好更新准备
teReady(function () {
(new Date())
dal({
title: '更新提⽰',
content: '新版本已经准备好,是否重启应⽤?',
success: function (res) {
if (m) {
//3. 新的版本已经下载好,调⽤ applyUpdate 应⽤新版本并重启
pdate()
} else if () {
//如果需要强制更新,则给出⼆次弹窗,如果不需要,则这⾥的代码都可以删掉了
dal({
title: '温馨提⽰~',
content: '本次版本更新涉及到新的功能添加,旧版本⽆法正常访问的哦~',
success: function (res) {
date()
return;
//第⼆次提⽰后,强制更新
if (m) {
// 新的版本已经下载好,调⽤ applyUpdate 应⽤新版本并重启
pdate()
} else if () {
//重新回到版本更新提⽰
date()
}
}
})
}
}
})
})
teFailed(function () {
// 新的版本下载失败
dal({
需要注意的是,这种⽅式模拟更新⼀次之后就失效了,后边再测试仍需要对这种编译模式进⾏重新设置才可以。
更新提⽰有延迟?
在开发者⼯具上测试验证的时候,更新提⽰弹窗在⼩程序界⾯加载出来五六秒之后才弹出来,这是由于⼩程序在检测到有新版
本之后,调⽤进⾏版本更新监听,此时客户端主动触发下载(⽆需开发者触发),下载成功后回调。也就是说我们上边的更新
提⽰弹窗是在⼩程序检测到新版本并完成新版本下载之后弹出的,所以就有了这⼏秒的时间差。这样的话就很有必要进⾏再次
改善了,⾄少应该在⼩程序编译时检测到有新版本就应该先给出更新提⽰,⾄于新版本下载的准备⼯作,可以在⽤户点击确认
按钮之后进⾏,代码改造如下:
App({
onLaunch: function(options) {
dal({
title: '温馨提⽰~',
content: '本次版本更新涉及到新的功能添加,旧版本⽆法正常访问的哦~',
showCancel:false,//隐藏取消按钮
confirmText:"确定更新",//只保留确定更新按钮
success: function(res) {
if (m) {
//下载新版本,并重新应⽤
adAndUpdate(updateManager)
}
}
})
}
}
})
}
})
} else {
// 如果希望⽤户在最新版本的客户端上体验您的⼩程序,可以这样⼦提⽰
dal({
title: '提⽰',
content: '当前微信版本过低,⽆法使⽤该功能,请升级到最新微信版本后重试。'
})
}
},
/**
* 下载⼩程序新版本并重启应⽤
*/
downLoadAndUpdate: function (updateManager){
var self=this
其他注意事项:
基础库最低版本设置:
如果不想做API⽀持判断,那么可以给⼩程序设置最低版本⽀持。
打开⼩程序管理后台-设置-基础库最低版本设置,根据现有⼩程序的访问情况或者⼩程序官⽅提供的数据,设置⼀个⽐较⼤众
化的基础库版本就好了,这样就能进了尽量减少API兼容性判断,也能促使⽤户更新微信版本,以⽀持⼩程序正常运⾏,体验
⼩程序⼀些⾼级功能。
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。


发布评论