抖音开放平台Logo
开发者文档
控制台
  • 体验抖音小游戏
  • 游戏引擎
  • Unity 引擎适配
  • WebGL 方案与优化
  • WebGL适配方案
  • 性能优化
  • 版本更新与资源部署
  • 能力适配
  • 加载外部js文件的支持
  • 使用新文件系统说明
  • 屏幕适配
  • 键盘输入法适配
  • 后端服务指引
  • 网络通信适配
  • 多点触控适配
  • 音频适配
  • Android WebGL2.0支持
  • 问题反馈
  • 方案概述与兼容性
  • BGDT 手册
  • 接入
  • C# API
  • Cocos/Laya/Egret引擎适配
  • 基础功能
  • 开放能力
  • 性能优化
  • 准备js文件

    需要加载的js文件都存放在Assets/StreamingAssets/__cp_js_files目录下,可以有多个js文件,不支持子目录。
    直接构建WebGL版本即可。
    当程序启动时,js运行环境初始化完成后,就会根据配置加载外部js代码。
    外部js代码中暂时不支持import/export/require这样的机制。
    如果有多个js文件,会按文件名顺序依次加载。如果不同js文件中有一些依赖,需自行确保文件加载顺序。

    API接口

    加载外部js代码,能够直接访问所有js环境的对象。比如tt、globalThis、window、XMLHttpRequest等,但不是所有浏览器环境的对象都支持。另外,tt对象跟普通小游戏基础库中的tt对象不完全一样,有的接口在普通小游戏有提供,但unity小游戏并未提供。
    declare const StarkAPI: { /** * 注册全局错误监听 * @param errMsg 错误日志 */ registerGlobalErrorListener: (errMsg: string) => void /** * 注册加载阶段监听 * @param res object对象,包含stage以及errMsg字段,当stage值为load_error时,errMsg有值, * stage为其余值,errMsg为undefined * stage的值: * load_start:开始加载 * load_framework_js:加载js胶水代码 * load_unity_data:加载unity data文件 * load_wasm:加载wasm代码 * compile_wasm:编译wasm代码 * call_main:执行wasm main函数 * load_completed:加载完成 * load_error:加载失败 */ registerLoadStageChangedListener: (res: { stage: string, errMsg?: string }) => void }

    示例代码

    tt.showToast({ title: "cp js file loaded" }); StarkAPI.registerGlobalErrorListener((errMsg) => { console.error("__global_error:" + errMsg) }); StarkAPI.registerLoadStageChangedListener(res => { console.info("load stage: " + res.stage) if (res.stage == "load_error") { console.error(res.errMsg); } });
    构建WebGL版本发布运行,正常情况下,进入游戏时,会弹出一个对话框:

    白名单测试

    iOS 抖音 did获取方法:我 -> 设置 -> 滑动到最底部,连续点击版本号信息,直到DID显示出来。
    点击DID即可复制。
    Android 抖音did获方法类似。