Cocos Creator 3.x 按钮点击事件重大bug

  • Creator 版本:3.3.0-3.3.2版本

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  1. 背景知识: 字节跳动有个添加桌面快捷方式的api,要求必须通过用户点击手势调用该api,即在Cocos Creator中制作一个简单UI,用户点击某个按钮,只要触发了OnTouchEnd或OnClick事件,即可调用字节的api,实现桌面快捷方式添加的功能。
  2. 错误描述:本人亲测Cocos Creator 3.3.0、3.3.1和3.3.2,三个版本的按钮点击事件,都不被字节跳动平台识别,并报出未检测到用户点击行为的bug。
  3. 错误解决方案之一:本人亲测,如果在Cocos Creator3D 1.2.0中,同样的按钮点击程序,同样的字节跳动api,能够成功被字节跳动平台检测到按钮点击事件的发生,能够正常添加桌面快捷方式。
  • 重现方式:
  1. 制作一个按钮,并添加点击响应,代码如下:
    private _btn_toDesktop: Button = null;
    private _initComp() {
    this._btn_toDesktop = this.node.getChildByName(‘btn_OK’).getComponent(Button);
    this._btn_toDesktop.node.on(Button.EventType.CLICK, this._toDesktopButtonClick, this);
    }

//窗口打开时,自动调用show函数.
public show() {
this._initComp();
}

private _toDesktopButtonClick(){
tt.addShortcut({
success: function (res) {
console.warn(‘添加快捷方式成功!’);
},
fail: function (res) {
console.warn(‘添加快捷方式失败:’+res.errMsg);
}
});
}

  1. 真机调试上述代码,Cocos Creator3D 1.2.0版本能正常运行(前提是能进白名单)。但是,Cocos Creator 3.3.0、3.3.1和3.3.2这三个版本,无一例外报出错误:addShortcut:fail must be invoked by user gesture。
  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

cocos creator3.3.0中的UI截图:
image
字节开发者工具中的报错截图:
image
使用Cocos Creator3D 1.2.0进行同样代码测试的结果:

自己顶一个,同时补充资料:
测试手机型号:小米9
编辑器操作系统:win10
之前正常的版本是Cocos Creator3D 1.2.0
出现问题的版本是:Cocos Creator 3.3.0、3.3.1、3.3.2

补充说明:

  1. 字节跳动的tt.addShortcut函数,是用于添加桌面快捷方式的。如果报出错误:must be invoked by user gesture,表示没有检测到用户的点击或触摸事件。
  2. 如果报出错误platform auth deny,表示该游戏不允许创建快捷方式(没获得字节的授权)。
  3. 如果cocos官方希望测试此bug,必须得到一个授权的小程序的appid。

抱歉,这个问题会在 3.4.0 修复

就不能来个3.3.3 ?
3.4又集成一堆新科技,够不够稳?

由此可见,新功能需求》版本稳定性

3.4.0的打不开低版本项目

打不开 2.4.3的