热更新以后还是没有密钥怎么用任务的就我一个吗

关注游戏葡萄
微信扫描二维码关注
游戏葡萄公众号
的其他文章
的其他文章
的其他文章
TalkingData
的其他文章
的其他文章
的其他文章
的其他文章
的其他文章
的其他文章
All Rights Reserved
赞助Sponsor
赞助Sponsor
阅读Articles
数据库Data
数据库Data
招聘Recruitment
联系我们Contact
友情链接Links
游戏葡萄订阅号unity游戏热更新专题 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho01:54:07 UTC
ccc1.4.2 用的 的version_generator生成manifest今天刚更新版本,出了点问题,让我费解,不知道问题在哪里。之前由于cdn问题,我改成更改packageUrl的方式指定新的热更新资源路径。更新完之后,连续几个用户反馈过来有问题,我报错统计后台一查,报了一个
xxx is null ,但是这个xxx是前一个版本的变量,新版本已经移除了这个变量,变量指向资源的一个节点,新版本移除了这个节点,看起来像是更新完之后代码还是老的,但是资源是新的了。
如果卸载重装app,然后热更新到新版本,一切正常。这说明我的热更新资源是没有问题的。而且我对比了新旧版本的project.manifest 里面的 project.jsc 的md5码,是不同的。
我想不明白这到底怎么回事。
02:48:24 UTC
应该是 CDN 缓存没有清除的原因导致的
04:12:53 UTC
我不是覆盖热更新资源的,我是改packageUrl指向一个完全新的目录的
06:39:29 UTC
新版本 main.js 有没有更新?会不会是 main.js 把旧版本的 search path 加进去了?另外,本地的保存路径是否一样?
07:00:17 UTC
this._am = new jsb.AssetsManager(this.manifestUrl, storagePath);这个storagePath是可以直接覆盖的吧?main的searchPath没动过,一直就是这个:if (cc && cc.sys.isNative) {
var hotUpdateSearchPaths = cc.sys.localStorage.getItem('HotUpdateSearchPaths');
if (hotUpdateSearchPaths) {
jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths));
07:11:41 UTC
不知有沒有重定向?
07:11:46 UTC
后台统计到的受影响用户还在增加,好像都是苹果用户,应该不是必现,因为上午就有1W+活跃了,如果是必现不会才影响100多个人
07:12:17 UTC
重定向是什么意思?
08:26:57 UTC
版本控制的時候, 你是直接set到root裡面, 還是通過redirect實現的
08:50:23 UTC
没明白你的意思。我的更新流程是这样的:1.构建好资源2.用version_generator生成manifest文件3.将生成的project.manifest里面的packageUrl改成新目录比如http://xxx/v2.0/remote-assets/4.将构建好的res,src,project.manifest,version.manifest上传至http://xxxxx/v2.0/remote-assets/下5.更改远程version.manifest里面的version为2.0,packageUrl,remoteManifestUrl都指向http://xxx/v2.0/remote-assets/6.刷新一下version.manifest 的cdn缓存,更新完毕
有问题吗 ?安卓,ios是分开的,更新方式是一样的,我后台统计出问题的好像都是iphone用户
10:58:56 UTC
如果下载目录不变的话,假设用户下载过 v1.x 的更新文件,那么下载目录已经有一个版本了,此时更新 v2.0,更新完成后,v2.0 的文件是直接添加到下载目录下,并不会删除下载目录下原有的文件,如果同名会覆盖。但是如果 v1.x 包含的文件,v2.0 不包含,并不会删除这个文件。
你想想你的游戏这样的情况会不会带来问题。
11:52:43 UTC
直接覆盖应该不存在这个问题,上次更新也出过问题,也都是ios用户,我的通信协议文件是二进制文件放在resource下的,后端告诉我说,更新之后,还有不少客户端版本是新的但是发的通信协议是老版本的。说明上次更新也是有只更新到了部分的问题。实在想不明白了~
06:25:04 UTC
1.6.1遇到了相同的问题,资源是新的 jsc走的老的会不会是更新完后 被覆盖的老的jsc文件当时被占用导致覆盖失败呢
08:57:41 UTC
cocos creator 热更新路径存在问题,js这边热更新后,会把热更新的目录优先级调到最高,但是这样会出现莫名的问题,例如:覆盖安装新的apk,再次热更,就会出现问题
我现在的解决办法:是把热更新目录优先级调到最高的逻辑放到了c++层,目前还没有出问题
10:56:24 UTC
我这边检测到到新版本会把可写路径下的资源清空,然后跳转下载新的版本进行覆盖安装。安卓覆盖安装后可写目录不变,ios覆盖安装会开辟一个新的可写路径。会不会由此引发问题
01:58:00 UTC
覆盖安装新版本,可以把之前的可写路径清空。cocos 热更新后一定要重启吗_百度知道
cocos 热更新后一定要重启吗
我有更好的答案
如果说的是当前更新完后内容要等下次打开app才生效的话,那是因为你少了一句代码,更新后加上这句:cc.FileUtils:getInstance():purgeCachedEntries()
热更新用HTTP 游戏内联网纯socket 除了纯socket,没有用什么框架的么? 刚才看到有scut,希望有更多框架的出现~~ 能有优劣对比更好了。呵呵,这要求太高。就要名字啦~~瞧一瞧看一看啦
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。热门文章热门标签
05月11日 |
05月11日 |
11月02日 |
05月11日 |
05月11日 |
05月11日 |
05月11日 |
11月15日 |

我要回帖

更多关于 密钥怎么用 的文章

 

随机推荐