TheInitialProject/Assets/CaoCao/.~XAsset说明/使用.txt

41 lines
2.6 KiB
Plaintext
Raw Permalink Normal View History

2024-10-23 16:59:02 +08:00
热更配置
1将【" {项目根路径}/BundlesCache/{平台}/updateinfo.json" 】放入外网下载路径
2将【" {项目根路径}/Bundles/{平台}/version_v{每个Build配置的版本号}.json" 】放入外网下载路径
3将【" {项目根路径}/Bundles/{平台}/{Build配置}.json" 】放入外网下载路径
4将第三步对应文件夹放入外网下载路径
项目应用:
1初始化 Assets.InitializeAsync()
XAsset 初始化流程:
0调用RuntimeInitializeHandler.cs文件
1读取streamingAssetsPath/playerassets.json
2如果有这个文件读取streamingAssetsPath/version.json文件
3检查streamingAssetsPath/version.json, 把里面的所有【{Build配置名_hash}.json】文件全部下载到persistentDataPath目录
4确保所有文件下载完发生错误则直接退出初始化
5如果persistentDataPath/version.json的版本新于streamingAssetsPath/version.json将persistentDataPath/version.json里的所有文件加入文件地址管理, 并没有确保所有文件是否存在
2下载更新文件 updateinfo.json 直接内存读取
3下载updateinfo中对应版本的version.json 保存到temporaryCachePath。
version.json相当于build的配置文件
4通过 ProcedureCheckGameVersion 下载随包资源,如果随包资源发生改变才下载。
1当version文件中包含随包资源即preloadPacks中有值时只会下载随包资源
2通过VersionsRequest.cs获取version中所有变动的Build的json文件。
- 通过比对json维护最新版Build的json文件
- 这一步完善Assets.Versions中的所有文件管理
分包检查机制:
1点击分包下载首先下载分包内文件
2文件下载完后再下载分包version文件
3这一步查找本地是否有分包的version文件检查到有分包的version文件加入 热更最新版的分包version如果没有则不会进入热更
5通过 ProcedureDownload 下载其他bundles下载完成后将version.json保存到persistentDataPath中。
1检查version文件的所有Build配置是否persistentDataPath中如果不在下载文件
2通过Assets.GetDownloadSizeAsync获取到需要下载的文件
下载路径http://{服务器地址}/Bundles/{平台}/{Build配置名}/{资源名_hash}.bundle
分包检查机制:
1如果检查到有分包的version文件加入热更最新版的分包version如果 没有,则不会进入热更
测试打包时将所有version都打进streamingassets只是在初始化时判断是否未subpackage