TikTok for Developers

开发者文档

上次更新时间:2026年10月2日

Mini Games SDK 概述

Mini Games SDK 是一个客户端 JavaScript SDK,在 TikTok 应用内运行。它提供应用内功能,例如登录与授权、支付、UI 触发、奖励性广告、生命周期钩子、网络通信和能力检测。Mini Games SDK 中包含的 JavaScript API 以 TTMinis.game 为前缀。

TikTok 支持两种小游戏运行时:HTML 和 Native。Mini Games SDK 已经预加载到 TikTok 应用中,因此你的小游戏使用 HTML 运行时,只需初始化 SDK。

  • HTML:基于 Web 的构建,使用 HTML/CSS/JavaScript 在 WebView 中运行,上线速度快但性能有限。调用 JavaScript API 之前,请在你的 HTML 中初始化 Mini Games SDK。
  • Native:编译后的小游戏,在 TikTok 的原生运行时中运行,性能优化,游戏体验更流畅。JavaScript API 无需初始化,可直接调用。

以下是 Mini Games SDK 中包含的 JavaScript API 列表:

类别

函数

描述

基础工具


canIUse(schema)

检查当前客户端版本是否支持某个 JSAPI 功能

env.USER_DATA_PATH

提供用户数据目录的本地文件系统路径

request()

发起 HTTPS 网络请求

RequestTask.abort()

取消正在进行中的网络请求

数据缓存


setStorage()

异步保存键值对到本地缓存

setStorageSync()

同步保存键值对到本地缓存

getStorage()

异步从本地缓存中获取值

getStorageSync()

同步从本地缓存中获取值

removeStorage()

异步从本地缓存中移除键值对

removeStorageSync()

同步从本地缓存中移除键值对

clearStorage()

异步清除小游戏的所有缓存数据

clearStorageSync()

同步清除小游戏的所有缓存数据

.getStorageInfo()

异步获取当前存储的相关信息

.getStorageInfoSync()

同步获取当前存储的相关信息

设备与网络

showKeyboard()

显示用于文字输入的键盘,可自定义类型和按钮

updateKeyboard()

在键盘激活时更新输入框内容

hideKeyboard()

手动隐藏激活的键盘

onKeyboardInput(listener)

注册实时键盘输入事件监听器

offKeyboardInput(listener)

移除键盘输入事件监听器

onKeyboardHeightChange(listener)

注册键盘高度变化事件监听器

offKeyboardHeightChange(listener)

移除键盘高度变化事件监听器

onKeyboardConfirm(listener)

注册用户点击【确认】按钮事件监听器

offKeyboardConfirm(listener)

移除键盘【确认】按钮事件监听器

onKeyboardComplete(listener)

注册键盘收起事件监听器

offKeyboardComplete(listener)

移除键盘收起事件监听器

getNetworkType()

获取用户当前的网络类型(例如 'wifi' 或 '4g')

onTouchStart(listener)

注册触摸事件开始的监听器

onTouchMove(listener)

注册触摸事件移动的监听器

onTouchEnd(listener)

注册触摸事件结束的监听器

onTouchCancel(listener)

注册触摸事件被中断的监听器

offTouchStart(listener)

移除 `onTouchStart` 事件监听器

offTouchMove(listener)

移除 `onTouchMove` 事件监听器

offTouchEnd(listener)

移除 `onTouchEnd` 事件监听器

offTouchCancel(listener)

移除 `onTouchCancel` 事件监听器

.vibrateShort

使手机振动 15 毫秒

.vibrateLong

使手机振动 400 毫秒

事件


onShow(cb)

注册小游戏返回前台时的回调函数。

offShow(cb)

注销 `onShow` 事件的回调函数

onHide(cb)

注册小游戏被切至后台时的回调函数。

offHide(cb)

注销 `onHide` 事件的回调函数

getLaunchOptionsSync()

获取小游戏首次冷启动时的查询参数

getEnterOptionsSync()

获取用户最近一次打开小游戏时的查询参数

文件


getFileSystemManager()

返回用于执行文件系统操作的全局管理器

readFile()

异步读取本地文件内容

readFileSync()

同步读取本地文件内容

access()

异步检查文件或目录是否存在

accessSync()

同步检查文件或目录是否存在

writeFile()

异步写入数据到本地文件

writeFileSync()

同步写入数据到本地文件

mkdir()

异步创建新目录

mkdirSync()

同步创建新目录

copyFile()

异步复制文件到新位置

copyFileSync()

同步复制文件到新位置


unzip()

解压文件

应用内广告

createRewardedVideoAd()

使用广告单元 ID 创建奖励性视频广告实例

rewardedVideoAd.show()

展示已加载的奖励性视频广告

rewardedVideoAd.onClose()

注册奖励性广告关闭事件的监听器

rewardedVideoAd.offClose()

注销奖励性广告关闭事件的监听器

rewardedVideoAd.onError()

注册用于接收广告播放期间发生的错误的监听器

rewardedVideoAd.offError()

注销广告播放期间错误事件的监听器

createInterstitialAd()

使用广告单元 ID 创建插屏广告实例

interstitialAd.show()

展示已加载的插屏广告

interstitialAd.onClose()

注册插屏广告关闭事件的监听器

interstitialAd.offClose()

注销插屏广告关闭事件的监听器

interstitialAd.onError()

注册用于接收广告播放期间发生的错误的监听器

interstitialAd.offError()

注销广告播放期间错误事件的监听器

应用内购买

checkBalance()

检查用户的活力豆余额是否达到指定数量

recharge()

为指定 tier ID 发起客户端充值流程

pay()

通过 `trade_order_id` 触发客户端支付弹窗

navigateToBalance()

引导用户进入 TikTok 内的活力豆余额页面

登录与授权

login()

启动用于获取授权码的静默登录流程

authorize()

提示用户授予特定范围的权限

媒体

createInnerAudioContext()

创建用于简单音频播放的实例

createWebAudioContext()

创建用于高级音频合成与处理的实例

play()/pause()/stop()

用于开始、暂停或停止音频播放的控件

seek(position)

跳转到指定时间位置(单位:秒)

destroy()

销毁音频实例并释放资源

onPlay()/offPlay()

管理开始/恢复播放事件的监听器

onPause()/offPause()

管理音频暂停事件的监听器

onStop()/offStop()

管理音频停止事件的监听器

onEnded()/offEnded()

管理自然播放结束事件的监听器

onCanplay()/offCanplay()

管理音频缓冲可播放事件的监听器

onTimeUpdate()/offTimeUpdate()

管理音频播放进度更新的监听器

onSeeking()/onSeeked()

管理拖拽进度开始和结束的监听器。

onWaiting()/offWaiting()

管理因缓冲导致播放卡顿的监听器

onError()/offError()

管理错误事件的监听器(返回 errMsg 和 errorCode)

decodeAudioData()

异步将 ArrayBuffer 解码为 AudioBuffer

resume()/suspend()

恢复或暂停整个音频上下文(返回 Promise)

close()

关闭上下文并立即释放所有资源

createBuffer()

创建一个指定通道数和长度的空 AudioBuffer

createBufferSource()

创建用于播放 AudioBuffer 数据的节点

createGain()

创建用于控制音量的节点

createOscillator()

创建用于生成周期性波形的节点

createDelay(maxTime)

创建用于延迟输入音频信号的节点

createBiquadFilter()

创建用于频率滤波(低通、高通等)的节点

createAnalyser()

创建用于实时时域和频域分析的节点

createPanner()

创建用于在三维空间实现音频空间化的节点

createDynamicsCompressor()

创建用于信号压缩(阈值、拐点等)的节点

createWaveShaper()

创建用于非线性失真特效的节点

createChannelMerger()

将多个输入流合并为一个输出

createChannelSplitter()

将输入流拆分为独立的通道输出

createScriptProcessor()

创建用于自定义 JavaScript 音频处理的节点

渲染与画布


createCanvas()

创建用于绘图的画布元素(首次调用将创建屏幕画布)

createImage()


创建用于加载和渲染图片源的图片对象

Canvas.getContext()

从画布对象获取绘图上下文('2d' 或 'webgl')

Canvas.toDataURL()

将画布内容导出为 base64 编码的数据 URI 字符串

setPreferredFramesPerSecond

修改渲染帧率

loadFont()

加载用于渲染的自定义字体文件

回归奖励

startEntranceMission()

引导用户将小游戏添加到 TikTok 主页侧边栏

getEntranceMissionReward()

检查用户是否符合完成主页入口任务的奖励资格

addShortcut()

提示用户将快捷方式添加到设备主屏幕

getShortcutMissionReward()

检查用户是否可以领取添加快捷方式的奖励

分享


shareToStory

将 Minis 内容直接分享到用户的 TikTok 限时动态

shareAppMessage

触发联系人选择界面以发送私信

onCopyUrl

监听“复制链接”操作,用于注入自定义元数据

offCopyUrl

移除“复制链接”事件的监听器

分包加载


preDownloadSubpackage()

后台下载分包但不执行

loadSubpackage()

下载并立即执行分包内的代码

LoadSubpackageTask.onProgressUpdate()

监听分包下载任务的进度更新

PreDownloadSubpackageTask

注册分包下载进度监听器,接收包含进度百分比的对象

系统


getSystemInfoSync()

同步获取设备和系统信息

getSystemInfo()

异步获取设备和系统信息

getWindowInfo

返回包含当前设备和窗口指标的对象

UI

getMenuButtonBoundingClientRect()

(仅限 HTML 小游戏)获取菜单按钮(右上角胶囊按钮)的布局位置信息

WebSocket

connectSocket

创建到指定 WSS URL 的 WebSocket 连接,可自定义请求头、协议和超时时间,并返回 SocketTask。

SocketTask.close

关闭 WebSocket 连接,可自定义关闭码和原因,并支持成功/失败/完成回调。

onOpen


注册 WebSocket 连接建立事件监听器,接收响应头和调试配置信息。

onMessage

注册 WebSocket 消息接收监听器,接收服务器数据(字符串或 ArrayBuffer)。

onClose

注册 WebSocket 关闭事件监听器,接收关闭状态码和原因。

onError

注册 WebSocket 错误监听器,接收错误码和错误信息。

send

通过 WebSocket 发送字符串或 ArrayBuffer 数据,并可按需传入成功、失败和完成的回调函数。


TikTok for Developers