cocos-creator使用记录28_小游戏主动更新

1.前言
微信在6月更新了小游戏接口,提供了小游戏主动更新的接口。
此接口可以在玩家在玩旧版本时,主动提示玩家是否更新最新版本。
https://developers.weixin.qq.com/minigame/dev/tutorial/usability/update.html

2.代码
splash.js-----------------------------
onLoad: function() {
    if(!(cc.sys.platform === cc.sys.WECHAT_GAME)) return;
    if(common.previousSceneIndex == 0){ //游戏启动
        if(wx.getUpdateManager){ //微信6.6.7才支持此接口
            const updateManager = wx.getUpdateManager();
            // 检查更新
            updateManager.onCheckForUpdate((res) => {
                console.log("热更新接口返回:",res);
                if (res.hasUpdate == false) { // 没有更新
                    if(common.sm == null){ //此全局变量默认值为null,当进入开始界面后变为true。
                        cc.director.preloadScene("zqddn_zhb_start",()=>{
                            cc.director.loadScene("zqddn_zhb_start");
                        });
                    }
                }
            });
            // 下载更新完成
            updateManager.onUpdateReady((res) => {
                console.log("下载更新完成",res);
                updateManager.applyUpdate();
            });
            cc.director.preloadScene("zqddn_zhb_start",()=>{
                console.log("zqddn_zhb_start加载完成");
                cc.director.loadScene("zqddn_zhb_start");
            });
        }else{ //低版本时直接进入
            cc.director.preloadScene("zqddn_zhb_start",()=>{
                console.log("zqddn_zhb_start加载完成");
                cc.director.loadScene("zqddn_zhb_start");
            });
        }
    }
},

3.问题
使用微信的热更新代码时,请仔细测试,以防止出现卡在加载界面的情况。
我使用的时候,曾出现过第1次进入游戏卡在加载界面,第2次就可以进入游戏的情况。

猜你喜欢

转载自blog.csdn.net/haibo19981/article/details/81224333