文章目录

  • 平台要求差异
  • 工程代码迁移
  • 腾讯云开发的适配

除了长期占据主流位置的微信平台字节跳动平台也是一个非常值得个人开发的小游戏上线的阵地。字节系的很多产品(如抖音、西瓜视频、今日头条)都带有巨大的流量,甚至能够比肩微信1

本文假设你已有了一个用Cocos Creator制作的微信小游戏(使用其他跨平台引擎微信原生开发工具开发的项目,本文亦可作为参考),现在想将该游戏发布到字节产品上。基于网上收集的资料和实践过程中的经验,本文详细整理了一个小游戏从微信平台发布到字节平台过程中需要了解的内容,以及需要调整的内容细节。

平台要求差异

关于字节跳动小游戏的申请、发布和审核的基本流程可以参考2。总体而言,字节平台与微信平台流程相似,其中开发者可能关心的主要差异有以下几点:

  • 字节跳动各个环节的审核较微信更加严苛。在微信,个人开发者只需“自查报告”即可发布游戏,但在字节“软著”也是游戏上线的必要材料。

  • 微信对初版小游戏的最低要求是完整可运行即可。但字节跳动要求小游戏必须实现“录频”功能3。该功能可以调用字节的API快速实现,代码可参考14

  • 字节小游戏对广告、引流等情况审核更加严格。例如,广告按钮的设置也有统一的规定5,不合要求会被打回。字节对界面、排版方面的要求也更加严格(例如文本过长,超出背景框也会成为拒绝通过的理由)。

  • 微信小游戏要求注册量达到1000后才能开通流量主。字节小游戏无门槛,可以直接插入广告栏盈利。

工程代码迁移

字节跳动文档提供了一键完成代码迁移的功能6。这个功能相当方便,但是也存在缺点,即之后每次更新游戏都需要重复执行导入工程、迁移代码的步骤。对于使用Cocos等游戏引擎的项目来说,在代码中针对不同平台设置不同的处理方式是更好的做法。

  1. 修改发布平台。在每次构建发布时,将发布平台和appid从微信替换为从字节的相关内容即可。
  2. 所有使用微信API的代码,需要将wx替换为tt。如接入微信广告的wx.createBannerAd()改为tt.createBannerAd()后即可接入字节广告。
// 在一套代码中,开放能力需兼容多个平台(Cocos Creator案例)
if (cc.sys.platform==cc.sys.WECHAT_GAME) {// 微信平台,调用微信接口wx.createBannerAd({...})
} else if (cc.sys.platform==cc.sys.BYTEDANCE_GAME) {// 字节平台,调用字节接口tt.createBannerAd({...})
}

微信作为小程序的开创者,其制定的一系列规范已经成为了众多其他小程序的模板,因此绝大多数的用法和功能都是相同的,我们只需替换一下名称就可以了!

值得注意的是,有些接口虽然调用方式相同,但平台返回的数据结构会有差异,因此还是需要仔细调试并阅读文档的。例如,用户授权后取得的头像图片网址就存在格式区别:在微信开发者需要自行补充.png等后缀,而字节返回的是带有.image后缀的完整资源url;又如请求用户的openid时使用的请求格式不同(详细差别可以参考微信开发文档7和字节开发文档8)。

腾讯云开发的适配

本部分仅针对使用腾讯云开发的小游戏。使用腾讯云或Cocos云开发的小游戏,直接在字节跳动小游戏开发工具中运行时,可能报如下错误:

error:{"code":" INVALID_PARAMS","msg":"invalid appSign"}

腾讯云开发是天生为微信小程序服务的,因此它应用在字节小程序中则需要一些额外的适配工作。

字节跳动目前尚未开通自己的云开发服务。即使将来字节开通了它的云服务,我们可能也希望继续使用已在腾讯云积累的用户和数据!

以下适配操作综合整理自910

  1. 在字节跳动小游戏开发工具中,检查项目资源有无图示的这两个.json文件。若没有,则需要先安装npm(Node Package Manager,是NodeJS的包管理工具,通过它能够下载网络上的JavaScript软件包)。

    在右下角的调试器面板进入终端栏,输入以下指令。
npm init

如果能显示相应的版本号,就说明是安装成功的。否则若提示“npm不是内部命令”类似的错误,则需要先在你的电脑上安装node环境。安装node环境的步骤可以参考11:前往http://nodejs.cn/download/下载适合你系统的NodeJS版本。

环境安装完成后,重新进入开发工具再键入上面那条命令,就可以正常执行了。

  1. 在终端依次输入以下两条命令,提示信息一直回车确认即可。这两条操作将分别在项目下生成package.json文件和package-lock.json文件。12
npm init
npm install
  1. npm已准备就绪,接下来利用它安装云开发相关的SDK和字节跳动适配器。
npm i @cloudbase/js-sdk -S
npm i @maoyan/cloudbase-adapter-tt_mp -S
  1. 配置腾讯云后台。
    在后端的云开发-环境-安全配置-移动应用安全来源界面,点击添加应用。在随后的应用标识一栏填入你的字节跳动小程序AppId即可。


    授权成功后,在新建的条目中选择获取凭证,然后点击复制,获得凭证(AppAcessKey)。在之后的代码中需要填写此凭证信息。

  2. 启用了Cocos云开发的项目,打包到字节跳动开发工具后,项目资源中应该会有src/assets/cloud/cloudConfig.js这个文件。您也可以通过检索”appSign”字段来找到该文件。
    修改该文件的相应字段。

window.cc_cloud_commonConfig={platform:"tencent",tencent:{env:"env1-000123abc",//腾讯云环境IDappSign:"tt111123abc",// 填写你的字节跳动appIDappSecret:{appAccessKeyId:"1",//一般填1即可appAccessKey:"222123abc"//第4步中获得的凭证}}
};

修改完成后,保存并刷新模拟器。现在腾讯云服务在字节跳动小游戏开发工具中也可以顺畅运行啦!提交发布,在抖音、头条软件上调试游玩吧!

我开发的休闲小游戏《卡牌传说》已在微信和字节两方平台上线了,欢迎搜索或扫码玩耍!
也欢迎关注我的公众号“焕焕骑士”,不定期发布这款小游戏的更新信息、更多游戏开发经验和笔记~


  1. 抖音、头条一个都不放过,字节小游戏上线攻略!_奎特尔星球-CSDN博客 ↩︎ ↩︎

  2. 抖音、头条一个都不放过,字节小游戏上线攻略(续)!再送源码福利_奎特尔星球-CSDN博客 ↩︎

  3. 字节小程序 | 录屏与分享 (bytedance.com) ↩︎

  4. creator项目上线字节跳动小程序_Eric_gg的博客-CSDN博客 ↩︎

  5. 小游戏高频审核拒绝场景第二期—广告新规 (bytedance.com) ↩︎

  6. 字节小程序 | 附:微信小程序迁移(bytedance.com) ↩︎

  7. auth.code2Session | 微信开放文档 (qq.com) ↩︎

  8. 字节小程序 | code2Session (bytedance.com) ↩︎

  9. 字节跳动小程序如何使用云开发cloudbase | 微信开放社区 (qq.com) ↩︎

  10. 【笔记】字节跳动小程序如何接入腾讯云CloudBase? | 微信开放社区 (qq.com) ↩︎

  11. 微信小程序没有找到可以构建的NPM包,请确认需要参与构建的npm在miniprogramroot目录 - 简书(jianshu.com) ↩︎

  12. 微信开发者工具使用npm安装第三方包_aiee的博客-CSDN博客 ↩︎

微信小游戏上线字节平台超全攻略相关推荐

  1. 如何录制一个优秀的游戏解说视频?超全攻略,手把手教你!

    想把自己游戏的精彩部分进行解说并分享给大家?怎么才能录制高清的游戏视频过程?有没有手把手针对小白的详细教程?现在就根据自己做游戏解说视频的经验,教大家用超级捕快录制一个游戏解说视频,导出的画质保持10 ...

  2. 棋盘法应用_计算_微信小游戏一笔画完超萌喵星人

    棋盘法应用_计算微信小游戏一笔画完超萌喵星人 例如第41关 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...

  3. 微信红包雨怎么抢_1月26日晚8点微信红包雨发放时间表 怎么抢红包全攻略

    1月26日晚8点微信红包雨发放时间表 怎么抢红包全攻略 据1月26日消息,微信官方将在今晚8点开启一轮红包雨[在哪里抢],用户通过手机摇一摇的方式可抢红包. 延伸阅读: 抢红包攻略: 1月26日晚8点 ...

  4. 微信小游戏上线流程及游戏自审自查报告模板

    [注册申请]https://mp.weixin.qq.com/ 这一步很容易,如果选择非个人,上线会需要版号在这里主要讲一下上线的流程 管理员在成员管理中添加开发者 开发者使用登记为开发者的微信登陆微 ...

  5. 微信小游戏实现语音识别(超详细)

    今天意外发现微信小游戏也能轻松实现语音识别功能,在此记录一下. 项目背景:微信小游戏+云开发 使用接口:百度语音识别接口 步骤: 1.到百度-语音识别注册并申请语音识别服务(个人申请能有五万条免费测试 ...

  6. 【法律适用】将微信记录作为打官司证据的最全攻略(2020法院版)

    近期<最高人民法院关于修改〈关于民事诉讼证据的若干规定〉的决定>正式开始施行,这意味着今后微信.微博等记录也可以正式作为打官司的证据. 很多网友提出疑问? 微信作为当下 最为常用的通讯工具 ...

  7. 软件工程毕业设计课题(61)微信小程序毕业设计JAVA旅游景区点评攻略小程序系统设计与实现

    项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信景区景点旅游攻略小程序系统,前台用户使用小程序,小程序使用微信开发者工具开发:后台管理使用基PP+MySql的B/S架构,开发工具使用p ...

  8. cocos creator开发的精灵大师小游戏源码分享,支持h5安卓微信小游戏等多平台

    截图说明 扫码支持一下 源码下载 https://download.csdn.net/download/qq_36303853/87124571

  9. 微信小程序打开红包的css_山海经攻略(微信小程序现金红包提现游戏)

    扫码进入小程序按照系统提示操作就可以获得0.3元红包,可以直接提现到微信账户. 一.山海经异变收入来源有三种 1.每升一级大概有一元的红包,满50元提现 2.获得分红神兽,分红神兽有四种,分别是神兽鸿 ...

最新文章

  1. 4个步骤成功构建出一个机器学习团队
  2. C#编程(十六)----------匿名类型
  3. ExtJs之Field.Trigger和Field.Spinner
  4. 阮一峰react demo代码研究的学习笔记 - demo 3 debug
  5. kali linux2.0下MariaDB修改密码
  6. Oracle SGA优化
  7. 《追风筝的人》卡勒德·胡赛尼著小说成长的故事
  8. python能自学成功吗-为什么那么多自学Python的后来都放弃了,总结起来就这些原因...
  9. 不会linux的php难找工作,学linux系统难吗
  10. 韩顺平 java笔记 第3讲 运算符 流程控制
  11. 计算机网络和lnternet的课件,Computer Networks and Internets《计算机网络与因特网》课件.ppt...
  12. 台湾省谷歌高清卫星地图下载
  13. python爬视频网站数据_Python爬虫:B站排行榜视频播放量,视频评论量等数据采集...
  14. Java面试题(一) 题目:输入某年某月某日,判断这一天是这一年的第几天
  15. 李峋爱心代码 程序员教你用代码制作爱心网页[樱花+爱心],正好拿去送给女神给她个惊喜
  16. 怎么会是lucene?
  17. 音频频谱 via FFT
  18. Blood闪烁特效制作
  19. 趋易避难,人之本性!
  20. 我喜欢你是寂静的 --聂鲁达

热门文章

  1. Hoeffding's lemma证明
  2. CDH安装服务和下载parcels包
  3. 从一循环到150,并在每行打印一个值,另外在每个3的倍数行上打印出“foo“,在5的倍数行打印biz,在7的倍数行打印baz
  4. c# mailgun 发送邮件测试
  5. 项目管理:目标的价值表现的四个方面
  6. 解决The number of method references in a .dex file cannot exceed 64K的问题
  7. Android10源码AOSP(从Ubuntu14.04环境搭建到下载编译运行)
  8. 瑞星的内核Hook分析
  9. 重定向时,将Unreal4骨骼调整为Tpose
  10. 心理健康测试抑郁分析系统