字节跳动小程序平台接入遇到的坑

字节跳动小程序平台接入遇到的坑:

本文档持续更新

字节跳动小程序平台运营渠道包括这些APP:头条、头条极速版、抖音、皮皮虾、西瓜视频 等渠道,头条最优先,其他App逐步支持和开放。

  1. 韩语等特殊字体不显示
    解决方案:韩语字体需要额外引入,见:https://forum.microapp.bytedance.com/topic/1212

  2. egret项目使用 webgl渲染 真机无法实现截屏分享功能(api:toTempFilePathSync)
    解决办法:应该是sdk bug,(截止2019.7.14未见官方修复),使用 canvas渲染避坑

  3. egret项目ios真机 使用canvas渲染导致部分滚动界面异常(闪烁/超出滚动区域)
    解决方案:应该是sdk bug,(截止2019.8.3未见官方修复),可使用webgl渲染避坑

  4. 有些特殊字符显示不出来,比如 base64的’44CA44CA’ 解开之后就是 ’  ’
    解决方案:非Bug,但是被审核同学看到会审核失败,遇到这种情况可显示成“游客”

  5. egret项目canvas渲染,排行榜里面item的第一个字符丢失,比如abc显示成bc,(版本7.2.8/72802/1.20.2.1可复现)
    解决方案:官方已知Bug,(新版本已修复,未验证),可通过字符前面加一个空格字符来避坑

  6. 安卓真机 底层requestAnimationFrame帧频每秒执行120次(ios正常60),导致游戏内动画执行特别快。(头条版本7.2.8/72802/1.20.2.1可复现,其他安卓app如西瓜视频3.7.8也可复现)
    解决方案:官方已知Bug,内部已修复,等待App逐步更新,可以通过修改白鹭引擎底层 egret.min.js 来避坑
    修改 Timer.prototype.$update方法里面把 this.lastCount -= 1000; 改成 this.lastCount -= 0;

  7. 偶现看视频完成后未获得奖励,本质原因是游戏切换到后台后,websocket发送数据无效,也不会报错
    解决方案:做好兼容,不要在后台发送消息,等切换到前台后再执行相关逻辑。可通过settimeout延时或放在onShow方法之后处理

  8. 超过3秒的录像也偶现分享失败
    解决方案:平台限制录像AP长度不能少于3秒,但测试发现不能用3000毫秒判断,需用3500判断

  9. 部分app版本游戏加载卡住(有加载mp3文件)
    解决方案:官方已知Bug,内部已修复,等待App逐步更新,原因是加载音乐出bug了。
    头条、抖音版本目前(2019.7月)发布版本已修复此Bug
    皮皮虾渠道还未修复 判断SDKUpdateVersion版本低于1.20.0.0 不加载音乐

  10. 偶现banner广告不显示(进入游戏后)
    解决方案:官方已知Bug,等待App逐步更新,原因是banner destroy后马上createBannerAd创建新的了,可通过destroy后延时500毫秒再创建来避坑。

  11. 安卓头条(版本7.3.5), createMoreGamesButton 创建的跳转按钮,偶现显示异常的情况(图标不显示,或显示一小部分)
    解决方案:官方已知Bug,已修复,更新小游戏库sdk(无需更新app,未验证/ 2019.8.7)

  12. Laya项目(2.0.0/2.0.1版本)接入字节,运行报错
    解决方案:laya.wxmini.js 文件需要修改 window = window || global 这句需要去掉

  13. Laya项目(2.0.0/2.0.1版本),正式版头像显示不出来,打开调试可以显示
    解决办法:本质原因是laya底层用download去下载图片,但是后台未配置域名的图片是无法请求的,而字节各大app 头像cdn域名非常复杂,无法配置,因此需要改成image.src的方式加载,具体方法为:修改 laya.wxmini.js 文件,针对非自己游戏图片素材的url改成 imge的方式获取,搜索代码
    x.isZiYu?i.onCreateImage 改成 (x.isZiYu||e.indexOf(“当前游戏图片素材域名”)==-1)?i.onCreateImage

  14. 横屏游戏适配异常,onDeviceOrientationChange api无效
    解决办法:暂无解决办法,截止到2019.5.5还未支持

  15. egret项目运行时报错 egret.wxgame.js WebGLRenderer.prototype.drawDisplayObject方法里面
    var child = children[i]; child为null
    解决办法:原因未知,判断child为null break来避免

  16. iphoneXR机型上必现游戏loading界面闪动(其他机型/xr微信下正常,换弹其他页面也正常)
    解决办法:不清楚具体原因,怀疑是CiJiMainUI和loading组合后导致渲染异常,loading页虽然移除掉了但是却一直在渲染,暂时通过先强制移除loading再弹CiJiMainU来避坑。

  17. 版本提审之后发现问题想再提审版本怎么办?
    暂时无法再提审,版本提审之后无法撤销,只能等这个版本审核完成之后再提审版本。官方已经在实现撤销功能,敬请期待…紧急的话可以联系商务人工处理。

本文原创,转载请注明出处

你可能感兴趣的:(小游戏开发,小游戏开发)