首先 ,不是问具体热更新的原理和操作过程,但看了文档后 文档里只提到了 更新脚本和资源后 按现有的方式可以实现热更新, 那么想知道 如果比如IOS平台 或安卓平台,比如更新了 AppController或AppActivity.java 原生文件,那么 这个是不是 现有的更新机制 就不成立了? ,比如 更新了 脚本层和JAVA层的方法 JSB相互调用的方法,那么这个层次的改动 现有的热更新机制 是否能适用? 或者说 更改了原生层的代码 改如何实现热更新? 请给指点一下 谢谢
原生代码或者自定义了引擎就不能热更新了,cocos一直就是这也热更新是利用了脚本可以动态加载的特性实现的,原生代码编译过后不能热更新所以改了原生或者引擎只能向商店提交新的app版本重新上架
那么 就算是向商店提交新的app包,但怎么让老版本的用户知道去商店重新下载呢 ,怎么引导老版本用户或者让老版本知道有大版本发布了 必须去商店重新下载才行呢 ,COCOS 怎么处理这个规则的是? 哪位做过的 给科普一下 该怎么做这个逻辑?
你如果是上的渠道商那各个应用商店会有提示新版本重新下载,如果是自己分发的那么就要在用户进入游戏后通过和服务端版本号的对比判断是否要重新去你们自己的服务器地址下载新的版本,大佬你似乎没做过原生端游戏呀
这些东西不是官方控制的,cocos只是提供游戏开发引擎,你这些东西严格来说是运营事务了和引擎没多大关系了
多谢多谢,是啊 没做过的东西都是 所以需要请教过来人的,
那么我理解是不是可以这样 必须只涉及到脚本和资源方面的 算是小版本更新 COCOS目前的机制没问题的 但如果有原生层或者引擎版本的更新的 算是大版本了 那么客户端先判断大版本是否一致 如果一致就目前的热更新机制了 如果大版本不同 就去引导到商店或者给用一个什么连接下载必须?
另外问问 客户端引导到商店 或给用户一个连接下载新的包 这个机制 应该怎么做都 不熟系路数啊还 请教请教了
如果是ios的appstore 那么他会给你分配一个appid 直接在游中跳转到地址大概这样子https://appstore + appid(你可以自己去appstore 看看地址是多少我这里只是示意一下)或者我记得好像ios 上架后可以选择s是否必须更新 安卓的话如果是上架到应用商店和ios同理 否则就是跳转到自己的官网下载新的apk
安卓还可以自己在游戏中实现下载然后自己替换安卓本地的apk 我之前的一款游戏就是这样子做的可以使用cocos提供的jsb.downloader直接在游戏中下载新版本的apk 策略很多看你自己怎么选择了