远端资源服务器的动态地址

3.8.2,远端资源服务器地址可以通过assetManager.downloader.remoteServerAddress来获取,这个是在打包的时候配死的,但是我想通过增加版本后缀,比如www.baidu.com/1.0.0/…的方式来规避cdn的缓存,请问应该怎么实现?

我已经尝试过assetManager._remoteServerAddress的方式去修改,但是没有生效
也是过直接用assetManager.init({})的方式去使用(但这个方法不应该被我外部使用,并且如果用了之后,微信那边的存储地址会出错,那边是通过getUserPath() + this.path的方式拼的,所以调用一次就会拼一次

你是打包资源放在服务器,需要更新,如果是这个,应该走更新bundle的逻辑才对
还是直接从服务器下载资源,这个地址本来就是对的

我们是用,assetManager.downloader.init自己初始化地址,然后在把cachemager的老地址更新为新地址,cocos就不能存储相对地址为key吗

就我们的cdn配置在打包配置的那个 资源服务器的服务器地址里,比如https://cdn.res.com

然后我们希望能够支持版本分子路径,比如 https://cdn.res.com/1.0.0/,这个1.0.0是服务器告知的。

assetManager.init,我试过,这应该不是合理的用法吧

也是过直接用assetManager.init({})的方式去使用(但这个方法不应该被我外部使用,并且如果用了之后,微信那边的存储地址会出错,那边是通过getUserPath() + this.path的方式拼的,所以调用一次就会拼一次

远程资源 视为一个仓库,
提交的时候自己维护一份清单


记录所有被修改过的文件的版本,
文件取不到版本则使用默认版本(0或1)
版本可以直接创建文件夹,例如 fire.atlas 的版本是3
则远端地址为 xxx/3/zh_cn/spine/efx/fire.atlas

这样可以解决cdn缓存的问题,还可以做一些版本回滚的操作;
清单自己写工具处理就可以了

loadBundle的时候填url和version就可以了