Unity抖音小游戏接入坑点总结

前言

        最近的项目正好要接入抖音平台,我自然在这接入的过程中遇到了不少问题,因此写篇文章总结一下。本文遇到的问题可能仅适用于个人所使用的环境。如果后面我又遇到新的问题就再更新这篇文章。

环境

    Window11
    Unity 2022.3.62f1c1
    Universal RP 14.0.12
    TTSDK 6.7.9
    ByteGame Develop Tools 3.0.271
    抖音开发者工具:4.5.6

正文

音效不播放

        这个现象出现在苹果手机上,我遇到的情况是游戏中的音效在测试人员佩戴耳机的情况下正常播放,但是在测试人员不佩戴耳机的情况下音效不播放。这是因为苹果手机有静音拨片这个功能,该功能会导致音效不播放。只要测试人员关闭对应的功能就可以正常使用了。

渲染失效的问题

        我使用的是URP渲染 + 资源热更。我发现使用URP管线下的默认Shader无法对透明物体进行正确的渲染。我个人认为是因为没有对URP管线下的默认Shader进行预热导致的。因为默认Shader无法放到变体中进行提前预热,因此我选择复制对应Shader修改名字后再进行Shader预热,之后变是正常的。

视频播放问题

        unity在WebGl下VideoPlayer是不允许使用clip来进行的,因此只能通过url进行。但是当你用VideoPlayer的url模式去读取抖音的存储地址时,会报不可读取。我认为是因为Unity的VideoPlayer本身不支持抖音的存储协议。

真机调试的问题

        在用真机调试的时候,二维码的加载时间会特别久,且最后生成失败,抖音开发工具报一个超时的错误:timeout of 30000ms exceeded。当然这并不是我们代码的问题。解决方案是在抖音开发工具中找到详情,点击详情中的基本信息。你会看到"文件系统",打开文件系统对应的地址,然后不断向上找文件夹直到找到一个名为“vela”的文件夹。关闭抖音开发工具后,删除该文件夹,再重新打开抖音开发工具。此时生成二维码就正常了。我自己项目的vela文件在:C:\用户\用户名\AppData\Roaming\@byted\vela

审核会特意不给授权

        有些逻辑,我们必须要用到一些权限,这些权限绕不开抖音。我们要向抖音进行申请。一般来说我们都会调用对应的API然后让用户进行授权。但是抖音审核人员会特意不给授权。所以如果你的一些逻辑一定需要授权后才可以进行,那你一定要测试一下不授权的情况。审核真的会去测试这样的情况。

事件上报

        事件上报的时候数值类型要和抖音后台配置中的类型一致才可以。如果你的数据既有字符串类型,又有数值类型,那么你只能将数据改为Dictionary<string, object>来进行上报。

闲言碎语

        这份闲言碎语,我是在接入完微信后补的。本来我是想等再次出现真机调试错误的时候补一下。结果后面我一直不触发了,于是我等到了现在。相比较起来,我是觉得抖音的接入真的不算难,微信是真麻烦。2026.10.8