自己实现吧,官方的热更方案就是玩具,不适合落地。
在manifest中packageUrl插入版本号撒,就不存在cdn缓存问题了
不至于被喷成这样吧,官方的也能用用吧
你先说说 你遇到的版本更新后 缓存问题的情况,然后再说怎么解决
不是有md5的解决方案么?
小玩具改一改用起来没啥问题,但是真的的项目你看谁用他。
非常感谢, 但我是安卓的, 请问安卓应该怎么样处理呢?
我就是用的官方的,当然小有改动
第一种: 保证CDN配置了.manifest的文件不缓存,然后将其它文件不要放到同一个目录(所以需要修改manifest的生成)或者每次更新刷新缓存(这个不保险)
第二种:直接把manifest在内不要放到同一个目录,由服务器下发目录位置
我在c++层,把缓存删了
那么远程manifest的地址 每次都是不固定的了对吧 那么你加载本地manifest 就需要每次手工动态生成manifest 生成远程配置文件的路径,然后手动 loadLocalManifest ?
引擎加载的也是一个字符串而已,无非引擎是从文件取的,你取完之后,改一改,再给引擎,不是很正常嘛 
对 这个没问题,我是说 就是这个过程对吧
是的111
我这边也是试着用这种方式来做, 但 getLocalManifest 一直是空的, 应该是未成功加载 manifest 文件,
可否贴一下你实现 取出manifest 文件, 修改之后 给引擎加载部份的代码我参考一下?
感谢, 我调整下我的代码试试
哈喽~有两个问题想请教一下
1.第一种的意思是指每个版本的资源文件放在不同目录,然后每个版本用不同的packageUrl吗。因为看文档里面说“这个地址需要和最初发布版本中 Manifest 文件的远程包地址一致,否则无法检测到更新”,但是我测了下用不同的packageUrl是可以的,想确认下是这样的吗。
2.manifest文件每次构建的时候都是用的之前的,构建完成的时候重新生成的一份,也就是说我每次如果要构建新版本的包的话要构建两次对吗,第一次先生成新版本的manifest,第二次的时候包里面才是新的manifest,请问下是这样的吗
- 应该是你说的吧,没有太理解清楚
- 不需要生成两次,有些插件生成两次是为了通用性。可以做如下设置
1).manifest不做md5 (即该文件不更新,要保证工程里只有一个manifest文件)
2)打包的时候,将生成的manifest文件里的内容覆盖该.manifest文件的内容
原理:版本或文件比较的是内存或包体内的manifest或远程外部的manifest比较,所以远程的包体内的manifest本质是没有用的



