字节小程序
开发者社区
小程序小游戏
登录
2个角度深扒小游戏技术问题,大家最常问的原来是它?

2个角度深扒小游戏技术问题,大家最常问的原来是它?

4642浏览作者: 社区管理员-LSJ



为了帮助各位开发者更加敏捷地完成开发上线,联动了业务技术大佬整理了近期小游戏开发者社区高频技术问题~本期主要对API功能使用以及开发过程中的问题进行解答哦!希望本次的技术经验分享可以真实地帮助到大家~


xxx fail must be invoked by user gesture

errMsg: xxx fail must be invoked by user gesture

出现该错误是因为小游戏框架对一些API,比如 tt.requestSubscribeMessage、tt.shareAppMessaged 的调用存在限制,这些API 必须由用户点击触发。

以具体代码为例:

tt.requestSubscribeMessage({...}) // 直接调用,会报错 ...  must be invoked by user gesture


tt.onTouchEnd(()=>{
   tt.requestSubscribeMessage({...}). //正确调用
})

注意:必须保证是在 tt.onTouchEnd 的回调里面同步调用,其他比如 tt.onTouchStart 也会报错。

对于使用第三方引擎开发的开发者来说,一般只要保证这些API是在引擎对应的触摸事件里面处理调用即可。

...user dir saved file size limit exceeded

出现该报错,大部分是 FileSystemManager.unzip 接口的调用导致,该报错具体原因是因为小游戏 ttfile://user 目录中的文件已经超过了小游戏规定的50M。

在解压过程中,unzip 不断把文件放入到 ttfile://user目录中,导致超过了阈值。

异步的报错 [promise] [unhandled]

对于异步报错,没有更多信息,可以复现后去小游戏开发者后台模块查看,辅助定位。


图片显示问题

想要显示用户头像,但发现头像域名会有很多种,在后台配置域名白名单感觉无法覆盖?

请直接使用 tt.createImage 来负责图片的显示,该API 去显示网络图像时,不会进行域名白名单的校验。关于具体游戏引擎的使用,文档里面也有介绍。

get shareInfo return null

在分享时候,回调失败,失败信息如上

出现该报错,大部分情况是小游戏纬度的分享状态异常,可以检查平台站内信或者联系小游戏运营。

tt.shareAppMessage 分享录屏结果打开摄像头

当channle == 'video' 时,小游戏框架会检查传入的 videoPath 是否为空,以及文件是否存在。当上述检查未通过时,会自动拉起摄像头,进行拍抖音。

激励视频广告返回报错 1004

该报错为正常报错,代表当前没有合适的广告。对此,小游戏框架有新增录屏激励能力,参考激励视频广告



域名配置问题: url is not valid domain

类似问题:

后台已经配置了域名,但是为什么还是提示域名非法: url is not valid domain?

IDE的时候请求都正常,但是发布到线上的时候就报错,为什么?

对于所有通过tt.request, tt.downloadFile, tt.connectSocket, tt.uploadFile 发起的请求,都需要在后台配置域名白名单。并且,白名单的配置只需要配置域名的主机名部分即可,请不要在配置里面加端口号。

测试版二维码扫描后提示“暂无打开权限”

测试版二维码每天扫码的设备有上限,如果超过上限会有上面提示,需要等待24小时恢复。所以请避免泄露测试版二维码。

如何动态获取小游戏的版本号和appid

可以通过 tt.getLaunchOptionsSync API 获取。

测试版本没问题,但是线上版本就有问题

这种大部分情况是白名单配置导致的,可以检查后台白名单配置。也可以在开发时候,选择开启IDE中的校验域名白名单,保持和线上环境一致。

最后一次编辑于 2022年04月21日
加载中