收藏
回答

小游戏使用MQTTJS库,模拟器和IOS都可以正常使用,安卓版报错。

框架类型 问题类型 终端类型 微信版本 基础库版本
小游戏 Bug 客户端 最新版 2.7.3


小游戏里使用mqttjs库,模拟器和IOS端均可以正常连接,安卓版本无法使用。


安卓版报错:




- 预期表现

IOS版本LOG信息正常:



===============================================

之前看到有,关于HTTPS的证书,下面是我服务器的证书状态:






回答关注问题邀请回答
收藏

2 个回答

  • 小游戏运营专员 - 宏
    小游戏运营专员 - 宏
    2019-07-10

    您好,gameThirdScriptError属于代码错误,请先检查一下代码。

    2019-07-10
    有用
    回复 2
    • 朱江
      朱江
      2019-07-11
      又测试了一下,发现微信版本6就可以,7.0版本不行,同样的代码,模拟器和IOS上都可以,安卓真机6.0版本也可以。
      2019-07-11
      回复
    • 小游戏运营专员 - 宏
      小游戏运营专员 - 宏
      2019-07-11回复朱江
      您好,请先把语法问题解决一下哈。
      2019-07-11
      回复
  • 朱江
    朱江
    2019-07-11

    问题终于~~找到了,mqttjs(2.18版)里面有调用wx API 函数:setInterval(https://developers.weixin.qq.com/minigame/dev/api/base/timer/setInterval.html),

    但是这个函数,最后一个参数,不能填入空array,会导致报错


    需要在所有调用:setInterval函数之前,判断一下,最后参数的数组长度:


     this._interval = setInterval(callback, interval, this._args);


    改为:


    if(args.length === 0){

            this._interval = setInterval(callback, interval);

        }else{

            this._interval = setInterval(callback, interval, this._args);

        }


    =====================================================

    感觉,这个应该算是微信的BUG吧,需要判断一下传入的参数数组是否是空数组。


    =====================================================

    之前用的2.18版,mqttjs 3.0版本也测试了一下,也是这问题~!

    2019-07-11
    有用 1
    回复
登录 后发表内容