请教:跨平台发布小游戏的技术问题

  • Creator 版本:3.8.6

  • 目标平台: 微信小游戏、 抖音小游戏

请教问题:开发了一款小游戏,之前只是发布到微信平台,最近想发布到抖音平台,有几个技术性问题想请教大佬,希望能有明白人指教。

  1. 微信和抖音两个平台的接口和生态不一样,所以小游戏里的页面内容和布局,以及调用接口也都不一样。像这种情况,我是分别维护独立的工程?还是用同一个工程根据宿主环境来做不同配置呢?
  2. 如果用同一个工程的话,就需要代码里识别宿主环境是微信还是抖音。我之前用的 if (window.wx) 这个条件来判断是否为微信环境,但发现构建到抖音后,抖音竟然也识别window.wx,所以这个路子走不通了。我看论坛里有人在22年的时候发的方案是:
    (sys.platform === sys.Platform.WECHAT_GAME);
    (sys.platform === sys.Platform.BYTEDANCE_MINI_GAME);
    这个方案靠谱吗?要不要再加上其它条件?比如判断抖音环境时再加上 if (tt !== ‘undefined’) ? 另外,在微信开发者工具里,sys.platform === sys.Platform.WECHAT_GAME也是true吗?还有,抖音小游戏会发布到抖音app、抖音火山版app、抖音极速版app等一系列抖音系的app,这些宿主环境sys.platform === sys.Platform.BYTEDANCE_MINI_GAME 都是true吗?
    以上。希望有经验的大佬给予指导,谢谢~

为什么不发快手小游戏

反过来呗 window[‘tt’]

你可以踩坑成长。看你问这么多还不如踩一次坑。都没把握就直接新开工程,只接抖音。快手,b站也是用的wx小游戏环境。

  1. 用不同分支
  2. 我就用的“sys.platform === sys.Platform.xxx”

这些点最后还是得自己试一试的。

新建一个平台层,一个wx.ts,一个tt.ts,判断环境选一个赋值给platform平台层,要用的时候就调用platform.login()这样的来运行,就不用写那么多判断

1赞