UpdateManager.applyUpdate

解释: 当新版本下载完成,调用该方法会强制当前小程序应用上新版本并重启

方法参数

示例

在开发者工具中预览效果

扫码体验

UpdateManager.applyUpdate - 图1请使用百度APP扫码

代码示例

  • 在 swan 文件中
  1. <view class="card-area">
  2. <view class="top-description border-bottom">applyUpdate</view>
  3. <button type="primary" bindtap="updateTap">button</button>
  4. </view>
  • 在 js 文件中
  1. Page({
  2. updateTap() {
  3. const updateManager = swan.getUpdateManager();
  4. updateManager.onCheckForUpdate(function (res) {
  5. // 请求完新版本信息的回调
  6. console.log("res", res.hasUpdate);
  7. if(!res.hasUpdate){
  8. swan.showModal({
  9. title: '更新提示',
  10. content: '无可用更新版本',
  11. });
  12. }
  13. });
  14. updateManager.onUpdateReady(function (res) {
  15. swan.showModal({
  16. title: '更新提示',
  17. content: '新版本已经准备好,是否重启应用?',
  18. success(res) {
  19. if (res.confirm) {
  20. // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
  21. try {
  22. updateManager.applyUpdate();
  23. }
  24. catch(e) {
  25. swan.showToast({
  26. title: '更新提示',
  27. content: '应用新版本失败'
  28. });
  29. }
  30. }
  31. }
  32. });
  33. });
  34. }
  35. });

Bug & Tip

  • 检查更新操作由宿主APP在小程序冷启动时自动触发,不需由开发者主动触发,开发者只需监听检查结果即可。
  • onUpdateReady(callback) 回调结果说明:当宿主APP检查到小程序有新版本,会主动触发下载操作(无需开发者触发),当下载完成后,会通过 onUpdateReady 告知开发者。
  • onUpdateFailed(callback) 回调结果说明:当宿主APP检查到小程序有新版本,会主动触发下载操作(无需开发者触发),如果下载失败(可能是网络原因等),会通过 onUpdateFailed 告知开发者。
  • 当小程序新版本下载完成时(即收到 onUpdateReady 回调),可以通过此接口强制重启小程序并应用最新版本。
  • 当新版本未下载完成时,调用此接口将返回undefined;当新版本下载完成时,若接口调用失败,会抛出一个标准的Error对象。