主题
Skip to content 

























WARNING
💡 Unity 抖音小游戏
准备工作:
- 切换并安装抖音插件



导入配置
WARNING
💡 需要切 WebGL 平台
导入游戏配置



设置项目
Debug 模式的开启或关闭
发最后一个正式包时,一定要取消 DebugMode


抖音平台必须接入功能
侧边栏复访能力
WARNING
- 能力入口可放置在游戏首页显眼位置,并着红色或者抖动提醒
- 点击侧边栏复访按钮,展示界面对玩家有明确的引导,并给予一定的游戏奖励
- 每日奖励领取完后,展示界面按钮文字由“领取”变为“明日再来”,复访按钮入口不消失,保持常驻
- 可与运营沟通具体设计方案,将复访引导与 7 日任务或者签到任务等结
c#
//有些旧版本的抖音不支持侧边栏,所以需要先检查是否支持,再决定是否跳转
ZMYSDKManager.I.XYXHandler.CheckSupportSide(CheckCallback);
void CheckCallback(bool isSupportSide)
{
UnityEngine.Debug.Log($"是否支持侧边栏 {isSupportSide}");
}
c#
//这里先判断是否支持侧边栏,回调里面再判断是否是侧边栏启动
bool isOn = ZMYSDKManager.I.XYXHandler.CheckLaunchFormSide();
UnityEngine.Debug.Log($"是否是侧边栏启动 {isOn}");
c#
ZMYSDKManager.I.XYXHandler.JumpToSide();

测试方法
如何模拟从进入侧边栏进入游戏
抖音开发者模拟场景值(新发必须使用该方法验证)
抖音开发者大于等于 V4.1.6
进入对应游戏--添加编译模式--进入场景选择 021036(模式名称可自定义)

确定模式后,真机调试,即可使用抖音扫码进入游戏
此状态相当于侧边栏直接进入游戏,可视为完成侧边栏流程。获得侧边栏奖励。
功能组件
抖音 WEBGL 下面的输入 InputField 会失效
可以动态添加组件 ZMYSDK.ZMYSDKManager.I.XYXHandler.InputFieldAdapter(inputField.gameObject);
构建与调试
构建
Unity 菜单栏选择:ByteGame => StarkSDKTools => 自动设置打包参数,并打开 BuildTool

构建工具位置,这一步会自动设置好 appid 和打包目录
Android Native 构建
Unity 支持的版本(Android native 方案),仅仅只有这两个版本受支持
2021.3.14f1
2022.3.34f1

上图各个组件功能
运行框架选择:当前使用的构建平台,目前有 Native 和 WebGL 两种
游戏 AppId:当前游戏的 AppId(可在 小程序开发者平台 中查询),不可为空。
(检查:AppId 的数字结尾必须是 07,且长度是 20 位。如果不满足条件,需要重新申请。)
宿主选择:头条、抖音、抖音 Lite(单选:在哪个宿主下运行,为调试时所使用的宿主,不影响发布时的宿主选择)
运行版本选择:当前只有Lastest (测试版) 环境(单选,且只能选这个)
文件名:构建 Apk 的文件名前缀。构建 APK 时必须填写,否则构建按钮将无法使用
输出目录: 构建 Apk 的输出目录路径,若目录不存在会构建 Apk 时尝试创建目录。
开发者工具路径:最新版本支持使用抖音开发者工具发布,如果需要使用抖音开发者工具发布时,可配置此项。此路径为抖音开发者工具的的可执行文件的路径,请安装后进行选择,windows 下以 exe 结尾,Mac 下以 app 结尾。与
开发者工具发布
按钮配合可跳转至抖音开发者工具进行发布操作。上线前参数确认:主要用于发布 Apk 时需要确认的构建参数(可以点击一键设置,自动设置为发布 Apk 时需要的构建参数。)
脚本实现:需要为 IL2CPP
CPU 架构:需要为 All
最低安卓版本:根据实际情况选择
Strip Engine Code:不能勾选
其它设置(仅调试用):
Dev 版本:是否构建 Development 版本
压缩方法:可选择,None(不压缩)、LZ4、LZ4HC
功能按钮
导出小游戏包: 导出 Android 工程,构建出
launcher-release.apk
以及il2cppOutput.zip
,这两个文件可用于后续的版本发布(但无法通过高级选项中的【运行本地 Apk】运行此 apk)构建完整 APK:构建出一个完整的 apk 文件。构建完成后,可选择跳转至开发者工具进行预览调试,也可在当前工具直接调试(需连接手机,且开启 USB 调试)。
版本发布:将跳转至版本发布界面
开发者工具发布:将启动前面配置的
开发者工具路径
的抖音开发者工具,并将工程导入抖音开发者工具中运行本地 Apk:选择本地 Apk 在真机宿主中运行调试。APK 须为完整的 APK 文件,通过 Unity 自带的构建以及【构建并真机】运行出来的 Apk 可以通过此按钮运行,导出小游戏包的 Apk 不可以通过此按钮运行(需连接手机,且开启 USB 调试)
清除版本缓存:清除手机上的抖音 Unity 小游戏缓存文件,可选择Latest 版本和所有版本(需连手机,且开启 USB 调试)
WebGL 构建
Unity 支持的版本
2021 和 2022 任意版本
界面

上图各个组件功能
构建选项选择:与Unity 提供的 BuildOption 选项一致,无特殊需求选择 None 即可。
WebGL 输出目录: 构建 WebGL 时必须填写,若目录不存在会构建 WebGL 时尝试创建目录。
基本参数填写完毕后已具备构建条件。
- 音频资源 url: 开发者在使用音频时如若出现问题可尝试此方案。为游戏资源 CDN url 前缀,目前主要是用在播放网络音频 url 文件时会用到。详情可以参考音频适配指引

复制音频文件:是否将工程中的音频文件复制出来。如果勾选,在构建 WebGL 成功后,会自动将工程中的音频文件复制到 WebGL 输出目录下的名为 Assets 子目录中。可以直接将该目录上传到 CDN 上。
WebGL2:iOS 支持 15.0 及以上系统,Android WebGL2.0 支持。
是否 Brotli 压缩:使用 Brotli 压缩,可以将包体减小,但是打包速度会有所下降。未经过压缩的包只能用于发布测试版本,正式上线需勾选,否则会影响线上加载效率。
缓存资源域名列表:如果有下载的资源需要自动缓存的,在此区域填写相应的域名信息,不支持通配符。比如下载资源 url 是https://cdn.bytedance.com/resource.data,这个文件需要被缓存下载,此处填写域名cdn.bytedance.com,这样当下载这个资源时底层会自动缓存下来。更多相关信息请查看使用新文件系统说明
不自动缓存的文件:你有不想缓存的资源文件,比如像 aa 资源的 catalog.json 文件,那么你可以在"不自动缓存的文件"列表中填写文件信息,匹配规则是文件名后缀匹配,你可以填写.json,也可以填写 catalog.json,不支持通匹符。
功能按钮
构建 WebGL:构建后,在
WebGL的输出目录
将生成webgl_package.zip
文件,可用于发布。另外同级目录还会包含 WebGL 文件夹,可运行于本地搭建的 Http 服务器用于调试。Wasm 分包:Wasm 分包功能主要是为了减小游戏运行时的首包大小,将原始 wasm 二进制文件拆分为 2 个,运行时先加载一个较小的 wasm 二进制文件,以较快速度进入主场景中。更多相关信息请查看:Wasm 分包工具说明
转换 WebGL 包:此功能可以将 Unity 构建出的内容转换成可以发布的 WebGL 包体,他将读取
WebGL输出目录
下的 webgl 文件夹,以此文件夹下内容作为输入,将其转换为可发布的 WebGL 包体。版本发布:将跳转至版本发布界面
开发者工具发布:将启动前面配置的
开发者工具路径
的抖音开发者工具,并将工程导入抖音开发者工具中
调试
已支持多种方案的预览调试,开发者无需发布版本即可进行预览调试。
具体调试流程可见文档:Unity 小游戏扫码预览调试
Webgl 模拟器使用方法可见文档:Unity Webgl 模拟器
发布
文档说明:本文档描述抖音 Unity 小游戏的构建,本地测试及发布各环节。
使用必读
为了体验更好,提供的首包(32 位+64 位)尽量要小于 60M(关闭 StripEngineCode)
安全性考虑,不允许在项目中加入原生 java 代码库。
有限支持部分开源的,著名的第三方库的 so 库。
会做安全性扫描,如对抖音有破坏性行为,会封停账号,保留追究司法责任的权利。
2021 对 WebGL 方案做了较多优化,支持 astc,在 iOS 的内存方面有明显的优势。编译速度快,编译体积小,利于启动速度和运行内存。建议升级到 2021 后版本
如何发布抖音 Unity 小游戏
发布需要以下流程,前面已经讲过如何进行构建,本章将重点介绍如何进行送测:
构建:通过 StarkSDKTools 构建(Build)构建与调试。
送测:通过 【StarkSDKTools】或【抖音开发者工具】 发布latest 版本,到测试环节。
提审:登录 小程序开发者平台,跳转至 【版本管理 】,进行测试,完毕后点击【提交审核】。
发布:审核通过之后,登录 小程序开发者平台,跳转至 【版本管理 】,点击【发布】。
送测版本统一称为 latest 版本,后续将不再赘述
使用抖音开发者工具发布
❗ 特别注意
需要提前下载好抖音开发者工具,版本不低于4.2.2,StarkSDKTool 不低于 3.2.0
开发者可使用抖音开放平台账号登录抖音开发者工具,在上传时开发者工具可自动获取对应开发者账号下的 uid,开发者无需手动填入。同时,开发者工具也可自动获取对应开发者账号下的小游戏 AppID 列表,开发者无需手动填入 AppID。
入口
在构建工具界面的开发者发布按钮,如图所示:
跳转至抖音开发者工具
跳转至抖音开发者工具前,需要配置开发者工具路径,windows 下是以 exe 结尾的,Mac 下是以 app 结尾的路径。如下图所示:
Windows:

Mac:

抖音开发者工具将自动将 Unity 工程导入。

登录开发者工具
开发者可选择使用在抖音开放平台注册的邮箱或者手机账号登录抖音开发者工具。


进行发布
- 点击左上方的【上传】按钮即可进行发布操作。


选择右上方【详情】按钮,可选择发布方案、产物、胶囊按钮颜色和屏幕方向等信息。
为满足开发者多项目并行测试的需求,支持最多同时上传 25 个测试版本,上传时分为“默认通道”和“通道 1-24”
- a.未开启“选择测试通道”时,上传成功后,覆盖“默认通道”已有的测试版本

- b.开发者如需同时保留多个测试版本,可以开启“选择测试通道” ,并根据需求选择 默认通道 或 通道 1 - 24 进行上传。上传成功后,将覆盖所选通道的测试版本。 默认通道 和 通道 1 - 24 通道的测试版本互不影响。

c.除开发者工具外,CLI 也支持指定测试通道进行上传。
d.如果当前版本号 + 通道号已经上传过小游戏,则无法被覆盖。例如,1.3.20-通道 1 已经上传成功,那么无法再次上传 1.3.20-通道 1 版本,可上传 1.3.20-通道 2/3/...等版本。
其他
如何修改 AppID
◦ 可在项目文件中的 project.config.json 以及项目详情中进行修改。

- ◦ 也可点击抖音开发者工具右上方的详情按钮,选择当前登录的开发者账号下有权限的 AppID

获取测试二维码
◦ 可点击抖音开发者工具工具栏的
测试二维码按钮
获取最近一次发布的 Unity 小游戏二维码,开发者可使用抖音客户端扫码查看效果

合法域名处理
什么是合法域名
在小程序后台的开发设置中, 有一处配置。合法域名的地方。
其中将域名分为几个大类,我们重点关注 request,socket,download。
request 就是常规的 http 请求,get,post。
socket 请求 webgl 使用 wss 域名
download 就是我们的 cdn 地址。这里有一点需要注意,cdn 地址除了配置到 download 中,还需要配置到 request 中
为什么要配置这个
小游戏严格限制了请求的地址信息,只有配置上的地址 才能成功的进行访问。所有的配置的域名都是要求经过备案的,否则无法配置。
哪些需要配置
联系对应得运营,在后台进行添加:
所有的 域名 不带端口的 配置到域名级,带端口的请求需要带上端口,举个例子
C#
原始 https://log.328vip.com/stat/index/initV2
配置 https://log.328vip.com
带端口的
原始 https://pay.wedobest.com.cn:8449/xxx/bbb/ccc
配置 https://pay.wedobest.com.cn:8449
抖音 QA
iOS WebGL 提示“当前系统版本不支持运行,请升级系统版本”
- iOS 13.4 以下以及 iOS 15.4.0、15.4.1 版本不支持
WebGL Android 提示当前 32 位手机不支持
- WebGL Android 仅支持 64 位
是否支持 WebGL2.0?
iOS:仅支持 iOS 15.0及以上系统
Android WebGL:暂时不支持WebGL2.0,如果使用 WebGL2.0,Android 平台需要使用 Native 方案
调用 HttpWebRequest 导致游戏卡住
- HttpWebRequest 在 WebGL 下不支持,需要替换成 UnityWebRequest
发布的时候提示 uid 没有权限?
- 如果是初次发布,版本号需要自定义一下,比如输入 0.0.1
点我快速对接


