【快速文档】我提交通过了新版本小程序,想让用户更新怎么办

本文介绍了两种小程序更新方法:wx.updateWeChatApp()用于微信客户端更新,wx.getUpdateManager()用于小程序自身更新。通过getUpdateManager()可以监听更新状态,如applyUpdate()强制更新。在开发阶段,开发者可通过模拟更新进行调试。通常,微信会自动帮用户更新小程序,但在必要时,可引导用户更新以确保最佳体验。

两种更新

wx.updateWeChatApp(包含success的对象)

跳转到小程序客户端的更新页面

wx.getUpdateManager()

获取小程序更新管理器

1,wx.getUpdateManager().applyUpdate()

强制重启并更新新版本,更新结束后,收到onUpdateReady

2,wx.getUpdateManager().onCheckForUpdate(回调函数)

监听是否需要更新

3,wx.getUpdateManager().onUpdateReady(回调函数)

监听小程序自动更新,更新成功事件

4,wx.getUpdateManager().onUpdateFailed(回调函数)

监听小程序自动更新,更新失败事件

注意:包含success的对象并非是必须的,事实上,你可以不放置任何参数。

分析

首先,我们需要清楚两种更新的区别。

wx.updateWeChatApp(),是微信客户端的更新,和你的小程序没关系,如果你认为使用者不更新客户端没办法使用你的小程序,那么就需要提示要求更新客户端。当然,使用者是否需要更新客户端,应当和使用者当前使用的客户端版本能不能用有关系。因此,你可以先获取用户当前的客户端版本,然后判断是否必须要更新才能使用。

wx.getUpdateManager(),本身是一个小程序更新的对象,和你的小程序有关系,你可以使用变量将这个对象保存下来,然后就不用反复使用wx.getUpdateManager()了。这个对象可以通过applyUpdate()强制更新,也可以通过其他方式检测是否需要更新和更新是否成功。

微信客户端更新使用

以下为判断微信客户端是否需要更新的js代码

如果你还不会查看用户客户端版本号的话,点击这里​​​​​​​

Page({
  data: {

  },
  onLoad: function (options) {
    wx.getSystemInfo({
      success(res){
        // 此时我们获得的是字符串的版本号,例如1.0.1
        // 接下来要解决的问题是,如何比较字符串的版本号
        let v = res.version;
        // 加一个判断,如果版本号小于7,那么就需要更新
        // 注意,这里我这做了简单的处理,只能判断大的版本号
        // 如果你希望能够判断完整的版本号,应当使用更加精确的方法
        if (v[0] < 7)
          wx.updateWeChatApp()
      }
    })
  }
})

小程序更新使用

wxml代码如下

<button bindtap="update">点击更新</button>

js代码如下

Page({
  data: {

  },
  onLoad: function (options) {

  },
  update(){
    // 按钮,点击强制重启,并下载更新
    let um = wx.getUpdateManager();
    um.applyUpdate();
  }
})

以上的代码的想法是,点击就可以更新到新版本。但是在开发版本之中是看不到什么直接效果的,即使在体验版中也看不到效果,必须在正式上线以后才能使用。

如果可以正常使用的话,那么效果应该是像这样的

​​​​​​​ 

如果,你写了有关于更新方面的内容,希望能够在开发时进行调试的话,可以通过开发者工具选择编译模式,勾选下次编译时模拟更新,这样在开发者工具中就可以看到模拟更新的效果了。

开发者工具勾选模拟更新

当然,大多数情况下,主动要求用户更新小程序也不一定是非常有必要的。即使你不这样做,在有了新版本以后,微信也会自动帮助用户更新新版本的。常见的做法是保持原有的接口至少一个版本,这样就可以很好的解决有用户没有及时更新小程序,造成的不能使用的问题。

回到小程序快速文档-吴茗

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值