01.4.0版本热更新下载前获取资源总大小的问题,求@panda解答

看了1.4.0版本的manifest文件中加了size字段,但git clone下来的hotupdate demo,并没有关于下载前获取资源总大小(多少M)相关的示例,同时看了AssetsManagerEx.cpp,Manifest.cpp 相关的更新,发现对应size接口,也没有开放出来。 所以现在的疑问是,我们项目中,想在用户点击确认下载前,提示用户本次下载资源总大小是多少(多少M),下载过程中已下载多少(多少M,而不只是percent),还涉及到,中间出现断开,断点续传时资源总大小。请教下**@panda 大大 ,这个在现有引擎的基础上能否实现,要怎么实现?** 求解答

在最新的 tutorial-hot-update 的生成 manfiest 脚本中已经添加了 size 的计算

https://github.com/cocos-creator/tutorial-hot-update/blob/master/version_generator.js#L77

tutorial 的 manifest 也已经更新了,包含了 size 信息,这个信息不可以用程序设置,所以没有接口。至于你说的资源总大小,的确是有意义,我记录一下,会在 1.5 中的 progression 回调中添加这个信息。

需求是在用户确认下载前就要在js层面也就是tutorial-hot-update 的checkCb中获取到资源总大小来提示用户。如果要实现这样的需求version.manifest是不是也需要加上totalsize字段? 毕竟远程服务器有version.manifest的情况下,checkUpdate应该只是个远程服务器的version.manifest做了比对吧?

这个接口计划在 1.5 中开放,暂时还没办法获取 total size,抱歉啦

请问这个接口有了吗? @panda 大大。 我在checkCb中调用getTotalBytes还是获取不到

1.5 版本中已经有了

接口叫啥名字啊

是 event 的 getTotalBytes

https://github.com/cocos-creator/cocos2d-x-lite/blob/develop/extensions/assets-manager/CCEventAssetsManagerEx.h#L79

但是这个log打印出来是0 (在update的回调里面可以正确获得,在check里面就是0 )

↑ 在这里面是能正确获得的

@panda 大大,求解答,是我姿势不对还是确实取不到?

new version found 的时候还没有获取到 total bytes,这是需要读取 manifest 中的 size 信息才可以获取的,所以进度中才可以

哦哦好的,那这个功能建议有时间了还是加上,毕竟需要让用户选择是否下载更新。比如连着自己流量的时候,可能3M的更新直接就下了,但是如果是300M的更新,有可能就是回家连了wifi再更新

嗯,好的,确实是欠考虑了

现在1.6.2中可以在更新之前获取要下载的文件总大小了吗?

同需要这个功能

1.7中可以增加这个功能么?@panda

这个功能官方会考虑添加么?

现在还是无法在更新之前拿到totalsize吗。

没有提供这个接口吧?

coco2d js 好像没有这个接口 呢 怎么办