微信小游戏兼容问题 求解

一直报这些错 看了下引擎源码 我是加了条件判断是否执行这个api的 貌似都无效

客服消息的api也是
尴尬是是身边的手机都无法重现这些问题。。。。
目前大概有10万多用户是进不来游戏的 微信数据显示有 但是后台系统没记录到 所以评估是兼容问题导致进不来游戏

求大佬们解惑
目前是用到了1.10版本的creator

是玩家的微信版本太低了,要么手动兼容(使用时判断api是否存在),要么引导玩家升级微信。

也可以在小游戏管理后台设置游戏的最低版本库限制。

像这个错误样例: Uncaught TypeError: wx.getSharedCanvas is not a function
这个我没有去使用到的 而是引擎底层封装使用到的方法咋整?


我甚至源码加了条件了还是报错???

之前排行榜的那些接口我是有加条件判断 所以现在不再报错了 而是引导用户升级微信客户端


这个在模拟器测试依然报错 虽然能进去游戏

这个错误不是你的代码报的。
cocos 也会去获取 sharedCanvas,但是没有判断。
这个错误不影响正常运行。
开发者保证自己的代码兼容低版本就行了。

我知道不是我代码报的。
引擎源码我也加了条件判断还是报错
目前情况来看应该是不影响游戏运行 只是每天告警看着真烦:joy:

我们完善一下引擎代码的保护,你修改了引擎代码之后,其实也是可以的,只是需要重新执行 gulp build,遵照定制引擎的文档来做

我跟微信又确认了一下,这里是不需要保护的,开放数据域中一定有 getSharedCanvas 接口。那么看起来你的运行环境有问题,为什么子域的逻辑会运行在主域下呢?

不一定的。
cocos 里可以直接通过 window.sharedCanvas 拿到 sharedCanvas,无论主域还是子域,所以是不是引擎在获取 sharedCanvas 的时候 没有保护呢?因为低版本微信 sdk 上确实会出这个错误。

其实是在子域报的错吧?

看看微信开发者工具用的基础库版本是什么,可能是版本过低

是我故意设置低版本的 高版本当然不存在这个问题啦

问题就是现在每天的微信告警都有一堆这个报错 所以真不知道会不会影响用户体验
在模拟器设置低版本库之后虽然会报错 但是依然可以进入游戏 而在调起子域的时候 我是做了版本判断的 低了就提示用户更新微信客户端

微信那边确认了,确实版本过低会有问题,要用

sharedCanvas || wx.getSharedCanvas()

我们会加保护

1赞

好的 那我这边需要做什么改动?

还有
这个也得做下兼容是吧