title: UpdateManager.applyUpdate header: develop nav: api

sidebar: UpdateManager-applyUpdate

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

方法参数

示例

在开发者工具中预览效果

扫码体验

sidebar: 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对象。