
Cocos
文章平均质量分 89
我是黄大仙
黄大仙
展开
-
活动发布插件化实践
背景开心鼠是一个以内容为主的App,新活动的发布非常频繁。1.活动发布的成本高活动跟版发布,则用户需要频繁的更新App才能够体验最新的活动。App上架,会受到应用市场的制约。2.使用热更新的方式发布活动,风险大热更新的影响范围为整个App。3.App包越来越大随着活动越来越多,如果所有的活动均打包到App里面,那么App的体积会越来越大。根据Cocos的官方文档,从2.4.5版本,Cocos开始支持AssetBundle,能够让我们将某个模块独立出来,以插件的方式加载。所以我们想到,将所原创 2021-11-25 12:03:40 · 406 阅读 · 0 评论 -
简化Cocos和Native交互利器
背景我们在使用 Cocos 和 Native 进行交互的时候,发现体验并不是特别的友好。如下所示,为我们项目当中的一段代码(代码已脱敏),当检测到发生了 js 异常,我们需要通知 Native 端去做一些处理。jsException: function (scence, msg, stack) { if (cc.sys.isNative && cc.sys.os === cc.sys.OS_ANDROID) { jsb.reflection.callStatic原创 2021-11-15 11:25:54 · 1273 阅读 · 0 评论 -
Cocos热更新的非官方解决方案
背景Cocos 官方提供了一套热更新的解决方案,但我们认为这套方案在以下方面不能完全适合我们的需求:必须要在 Cocos 引擎启动之后才能够开始热更新流程,而我们有些业务场景需要支持在 Cocos 引擎未启动的时候就能够开始热更新流程;文件下载效率低,官方提供的方案是在客户端本地对比本地的文件 manifest 和服务端的文件 manifest,找出其中的差异,然后再将差异的文件下载下来,并逐个校验,效率较低;没有回退兜底策略,若本地进行热更新之后出现异常导致用户无法使用,无法回退到上一个版本;原创 2021-11-15 11:05:02 · 919 阅读 · 0 评论