Agent Skills
返回列表
抖音小游戏 Unity SDK

抖音小游戏 Unity SDK

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_70ac6649/douyin-mini-game-unity 到 AI 助手。

技能介绍

解决什么问题

把 Unity 项目发布成抖音小游戏,绕不开平台 API 这一层。抖音小游戏原生接口是 JavaScript 的 tt.*,Unity 侧是 C#,两边在命名空间、回调模型、生命周期管理上都对不上。直接手写桥接,光是 tt.login()、tt.checkSession()、tt.requestGamePayment() 这些接口的 C# 封装就要反复对照官方文档,还要处理宿主环境判断、API 版本兼容和权限授权检查,工程量不小且容易踩坑。

这个技能把这层桥接固化下来。基于抖音小游戏 Unity C# API 官方文档生成,要求 TTSDK >= 6.0.0,通过 TT.* 命名空间把 200 多个 tt.* 方法以 PascalCase 风格暴露给 Unity 代码,已有项目可以直接适配发布。

核心能力

  • 全模块覆盖:初始化、账号、支付、广告、设备、网络、文件、UI、渲染、开放能力,每个模块对应独立参考文件(如 unity-payment、unity-ads、unity-storage)
  • 命名对照清晰:tt.login() → TT.Login()、tt.requestGamePayment() → TT.RequestGamePayment()、tt.setStorage() → TT.Save(),JS 与 C# 一一对应,迁移时不易混淆
  • 环境隔离:TT.InContainerEnv 区分 Editor 与真机环境,Editor 下可走 Mock,不用反复打包试真机

接入关键步骤

  1. 游戏启动时先调 TT.InitSDK,回调里拿到 ContainerEnv 和 HostEnum 再初始化业务逻辑
  2. 支付、用户信息等接口调用前,先用 TT.CheckSession 确认登录态
  3. 监听 TT.GetAppLifeCycle().OnShow/OnHide,前台恢复游戏循环、后台暂停渲染
  4. 存储用 TTFileSystemManager 的异步方法(非 Sync 后缀),PlayerPrefs 换成 TT.PlayerPrefs,原生那套在小游戏环境不可用

注意点

  • 支付必须服务端验签:客户端 Success 回调只代表收银台操作完成,严禁直接发道具或金币,要等服务端 payment_callback 验签通过后再由服务端下发
  • 日志脱敏:code、session_key、openid 这类敏感值别直接 Debug.Log,用 #if UNITY_EDITOR || DEVELOPMENT_BUILD 包住
  • 调试命令进不了生产包:RegisterCommandEvent 注册的 GM 指令同样要条件编译排除
  • 授权边界:录屏流程已内置 scope.screenRecord 检查;位置 API 不在文档覆盖范围,需要时自行补 scope.userLocation 检查;传感器类(加速度计、陀螺仪)无需授权,但要按 OnEnable/OnDisable 管理生命周期,避免后台耗电
  • 版本兼容:用 CanIUse 判断 API 可用性,注意 SDK 版本变更(如 6.1.1 引入 Param 类替代旧参数格式)

使用场景

  • 把已有 Unity 游戏发布为抖音小游戏,需要将 JavaScript 的 tt.* 接口逐个封装成 C# 调用
  • 实现游戏内购,需要支付下单、服务端验签回调、客户端安全发奖的完整链路
  • 接入激励视频与插屏广告,需要单实例复用、资源释放与前台恢复的生命周期处理
  • 上线前做安全自查,需要确认登录凭证、用户信息等敏感数据的条件编译与日志脱敏

适合人员

  • Unity 游戏客户端开发者,正在把项目适配发布到抖音小游戏平台
  • 小游戏技术接入工程师,负责维护平台 API 桥接层与 SDK 版本升级
  • 游戏服务端与客户端联调负责人,需要确保支付验签和回调链路安全落地