UpdateManager.applyUpdate

解释: 当新版本下载完成,调用该方法会强制当前小程序应用上新版本并重启。
Web 态说明:由于 Web 态小程序暂不支持手动管理小程序更新,因此 UpdateManager.applyUpdate 不会执行。

# 方法参数

# 示例

在开发者工具中预览效果

扫码体验
重新加载
请使用百度APP扫码

# 代码示例

  • 在 swan 文件中
<view class="card-area">
    <view class="top-description border-bottom">applyUpdate</view>
    <button type="primary" bindtap="updateTap">button</button>
</view>
  • 在 js 文件中
Page({
    updateTap() {
        const updateManager = swan.getUpdateManager();
        updateManager.onCheckForUpdate(function (res) {
            // 请求完新版本信息的回调
            if(!res.hasUpdate){
                swan.showToast({
                    title: '无可用更新版本',
                    icon: 'none'
                });
            }
        });

        updateManager.onUpdateReady(function (res) {
            swan.showModal({
                title: '更新提示',
                content: '新版本已经准备好,是否重启应用?',
                success(res) {
                    if (res.confirm) {
                        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                        try {
                            updateManager.applyUpdate();
                        }
                        catch(e) {
                            swan.showToast({
                                title: '应用新版本失败',
                                icon: 'none'
                            });
                        }
                    }
                }
            });
        });
    }
});

# Bug & Tip

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