热更配置 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