cocos-creator使用记录39_微信公众平台运维中心中的错误统计


游戏引擎 cocosCreator 1.9.1
微信开发者工具 v1.02.1804251
以下列举的错误都是在微信公众平台的运维中心的错误查询中的

1.wx.getOpenDataContext找不到
在iphone7,iphone6plus部分真机机型上会出现,其它机型正常
调用wx.getOpenDataContext会提示找不到方法
解决方法:
(1)在微信小游戏后台设置线上版本的最低支持基础版本库为1.9.92以上。低于这个版本的微信就打不开
你的小游戏了,微信会提示其更新微信版本,找不到API的问题也就解决了。
(2)做低版本兼容,修改引擎源码在调用wx.getOpenDataConetext的地方先判断是否有这个方法。另外在
游戏逻辑代码中也进行版本判断,低版本不使用相关功能。

引擎源码使用wx.getOpenDataConetext的地方
CocosCreator1.91/resources/engine/cocos2d/core/platform/CCView.js

可使用以下判断
wx.getOpenDataContext&&wx.getOpenDataContext()
这行代码的意思就是,判断&&前的值是否为 null或undefine,如果是,则不会进行调用。如果不是,则会执行&&后的语句调用这个方法

实际:
使用以上的修改后,错误数量由之前某些版本有超过上千个,变成现在最多只有40多个。效果比较明显。

2. wx.getPerformance is not a function
引擎源码使用wx.getPerformance的地方
CocosCreator1.91/resources/static/build-templates/wx/libs/weapp-adapter/WindowProperties.js
修改如下
_performance = wx.getPerformance && wx.getPerformance();

实际:

3.wx.createRewardedVideoAd is not a function
在脚本逻辑中全部添加如下的检查
if(cc.sys.platform === cc.sys.WECHAT_GAME){ //微信平台
    var current_version = wx.getSystemInfoSync().SDKVersion;
    if (common.compareVersion(current_version, "2.0.4") === -1){
        console.log('=====版本不够2.0.4,视频广告不能用')
        return;
    }
    ...
}
实际:
使用以上的修改后,错误数量由之前某些版本有超过200个,变成现在最多只有不到10个。效果比较明显。

你可能感兴趣的:(cocos,creator)