转载自 https://blog.csdn.net/haibo19981/article/details/81224333
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次就可以进入游戏的情况。