抖音开放平台Logo
控制台

小游戏资源部署与缓存

更新时间 2024-07-24 02:58:49
收藏
我的收藏
本文介绍小游戏资源部署与缓存相关内容​

资源介绍

在转换完成后,会在导出路径下生成如下目录​
不使用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压缩​
    2.单个请求文件最大不超过100MB,超时默认为60s(理论最大值,实际游戏永远不要让单个文件这么大,考虑到玩家平均下载带宽,建议单文件2~5MB以内)​
    3.跨域问题在平台内部已经做了处理,可以阅读:跨域问题
    4.网络安全域名、SSL等问题请参考文档网络通信适配

资源更新说明

CDN是有缓存的。相同路径的文件,上传cdn后,有可能在一些cdn节点要很久才会被更新到。项目中bundle的配置文件,比如aa的setting.jsoncatalog.json,以及AssetBundles打包生成的配置文件通常文件名是固定的,为了避免新版本发布时由于cdn缓存导致加载到旧版本资源,需要避免这些文件使用缓存。通常有以下几种方式避免。​
    1.每次发新版本更换CDN路径,比如version1/xxxx,version2/xxxx
    2.不希望被缓存的文件,源站或者cdn加上不允许缓存的HTTP头,如no-cache,请自行查询对应cdn服务商文档进行设置​
    3.如果使用新文件系统,可以在构建时通过如下配置​
同时,由于通过HTTP请求的资源会自动缓存,不希望被缓存的文件请添加到缓存忽略目录,具体可阅读后续小游戏资源缓存 文档​

资源缓存

游戏版本更新说明​