抖音开放平台Logo
开发者文档
控制台

小游戏资源部署与缓存

收藏
我的收藏
本文介绍小游戏资源部署与缓存相关内容​

资源介绍

在转换完成后,会在导出路径下生成如下目录​
不使用wasm分包时:
使用wasm分包时:
    scwebgl-bundles.js - 配置文件​
    StreamingAssets​
    webgl.data - 首包资源​
    webgl.framework.js - 胶水代码​
    webgl.wasm - wasm代码包(不分包时)​
    split_main.wasm - wasm主包(分包时)​
    split_sub.wasm - wasm子包(分包时)​

其他资源部署

目前 Unity 小游戏首包上限为100MB,如果首包资源大小超过该值,需要游戏做相应的资源优化,将不需要在首屏渲染的资源通过各种方案部署到CDN。可参考 资源按需加载概述 。​

首资源包

    小游戏分包:因需要统计总包体大小,当导出时wasm代码brotli压缩正常的前提下,如果wasm代码+首包资源小于100MB,可使用"小游戏包内"加载,此时不需要将首包资源部署到服务器。​
    CDN:当不使用小游戏分包时,需要部署到服务器。​

Assets

如果有用到纹理压缩和音频API,导出插件自动生成。将此目录部署到服务器即可​

StreamingAssets

AssetBundle和Addressables资源目录。 如果是用的AA,构建时默认打包到StreamingAssets目录下。但如果是用的AB,或者自定义了bundle的生成目录,需要将bundle移动到StreamingAssets目录​

资源服务器注意事项

    1.使用 brotli 或 gzip 压缩:​
    如果 AssetBundle 使用未压缩格式打包,应尽量开启 brotli 或 gzip 压缩​
    如果 AssetBundle 使用 LZ4 格式压缩打包,则不建议开启 brotli 或 gzip 压缩,避免二次解压开销​
    直接部署在 CDN 上的 json, xml, csv, txt 等文本格式配置文件,应尽量开启 brotli 或 gzip 压缩​
    2.为确保不同网络条件的下载成功率,单个请求文件建议控制在 2-5 MB 以内(理论最大值为 100MB,超时默认为 60s)​
    3.跨域问题在平台内部已经做了处理:跨域问题
    4.网络安全域名、SSL 等问题请参考文档:网络通信适配

资源更新说明

注意
对于开发者自行部署在 CDN 上的 AssetBundle 资源,需要留意 CDN 缓存机制造成的更新延迟问题。​
相同路径的文件在源站修改后,一段时间后才会同步到所有边缘节点(从数小时到数天不等)。如果不同版本资源使用相同的 CDN 路径,就会导致游戏版本更新后用户仍下载到旧的资源文件。可以使用这些方法解决:​
    每次发新版本更换 CDN 资源路径,例如 version1/xxxversion2/xxx
    项目中的资源配置文件(例如 addressables 的 settings.jsoncatalog.json、YooAsset 的 Version.txt)的文件名通常是固定的,应避免这些文件使用缓存。​
    对这些文件,可以在源站或 CDN 加上不允许缓存的 HTTP 响应头,例如 no-cache,请自行查询对应 CDN 服务商文档进行设置。​
    此外,通过 HTTP 请求的资源会自动缓存到本地。为避免缓存,可以将这些文件的文件名或扩展名配置在“不自动缓存的文件”中。​

资源缓存

请阅读 小游戏资源缓存

游戏版本更新说明​

请阅读 小游戏版本更新