android小游戏开发_微信小游戏的引擎插件功能正式上线!白鹭引擎插件使用说明!...

为了更好的提升微信小游戏的打开速度,提高用户体验,微信正式发布了引擎插件功能,白鹭引擎第一时间支持并正式发布支持该功能的5.2.31版本。 以下是白鹭引擎插件使用的详细说明文档及常见问题解答,请诸位开发者小伙伴仔细阅读。

什么是引擎插件

我们发布微信小游戏的时候,里面会带有egret.min.js、eui.min.js之类的库文件,玩家每次打开一个小游戏,都要重复的下载这些文件。现在我们把白鹭引擎做成了微信的插件, 5.2.x系列的所有版本都上传到了微信服务器上,开发者只要在项目里进行配置,就可以使用远端的插件,不使用本地的引擎文件。

这样的好处是,如果一个玩家玩了A游戏,里面使用了5.2.20版本的引擎插件。然后他又玩了B游戏,如果B游戏的引擎插件版本和A游戏一致,那么这个插件就不需要重新下载。这样就可以提高游戏的打开速度,获得更好的用户体验。

白鹭引擎插件使用和调试环境

1、 白鹭引擎 5.2.31 版本 ; 2、 微信开发者工具调试Nightly版本(>=1.02.1910252) ; 注意: 正式版 还不支持插件功能; 3、 在Android微信和iOS微信的7.0.7版本(>=7.0.7),可直接体验和测试插件分离功能。使用了插件分离的小游戏,在console日志中会输出 : plugin ***** inject success/fail! ; 4、 由于微信开发者工具的bug,使用测试版的 APPID 在开启插件功能时会报错,必须使用在微信后台注册过的正式版 APPID 才可以。 5、 目前一个APPID,只支持引用一个插件 ; 6、 目前支持整包小游戏使用插件,以及分包小游戏的主包使用插件 。

白鹭引擎插件使用方法

1、 在Egret Launcher里下载引擎5.2.31版本,使用该版本创建一个游戏项目 ; 2、 打开项目中的scripts/config.wxgame.ts文件,将useWxPlugin变量改为true ;  

21b92dd2-3d1d-eb11-8da9-e4434bdf6706.png

3、 在发布成微信小游戏release版本后(egret publisb --target wxgame),会开启插件功能。debug调试版(egret build --target wxgame)不支持该功能。

老项目升级:

在老项目中执行 egret upgrade --egretversion 5.2.31 后会把项目升级成支持插件的版本。

使用其他版本的引擎:

如果您的项目不想使用最新的5.2.31版本,要使用其他版本,例如5.2.16之类的引擎,那么可以做如下操作:

1、使用最新版引擎 5.2.31创建一个新项目,把这 3 个文件拷贝到老项目里替换原有文件;

23b92dd2-3d1d-eb11-8da9-e4434bdf6706.png

注意:其中的wxgame.ts里会对js文件做一定的修改,一定要使用我们提供的方法,不要对这块做任何的修改。因为微信会对js文件做MD5校验,任何修改都会改变MD5值。

2、在老项目根目录的egretProperties.json里,把compilerVersion编译器版本改成 5.2.31。比如在本示例中,引擎代码还是5.2.16的,但是编译脚本使用引擎5.2.31,这样就能支持把游戏发布成开启微信插件的形式了。

24b92dd2-3d1d-eb11-8da9-e4434bdf6706.png

使用引擎插件的微信小游戏项目结构说明

25b92dd2-3d1d-eb11-8da9-e4434bdf6706.png

1、在之前的微信小游戏项目里,我们会把所有的引擎文件和游戏逻辑文件都放在js文件夹内; 2、在新的项目结构里,增加了一个egret-library文件夹:
    • egret-library:放的是引擎库文件;

    • js:放的是项目里的其他js文件,比如游戏逻辑文件main.min.js;

3、微信开发者工具打包上传的时候,会自动生成两个包:
    • 带egret-library文件夹的包:不支持插件功能的老版本微信,会调用这个文件夹内的引擎文件;

    • 不带egret-library文件夹的包:支持插件功能的新版本微信会读取这个包,直接调用微信服务器上的引擎插件。

FAQ

问:引擎插件里都包含哪些库?

答:包含白鹭引擎官方提供的 7 个库,注意:只包含发布版的 xx.min.js, 不包含调试版的xx.js。具体的文件列表如下:

26b92dd2-3d1d-eb11-8da9-e4434bdf6706.png

问:如果为了让包体小一些,不考虑兼容老版本微信的玩家,只使用远程插件里的引擎。是否可以不在小游戏项目里放一份引擎,这样可以吗?

答:理论上是可以的,但是微信官方不建议这么做。另外如果使用引擎插件功能,包的总大小会算上线上插件里的引擎代码,所以您自己衡量是否值得。

问:我对引擎做了修改,还可以使用远程插件吗

答:不能做任何修改,而且必须用官方提供的编译配置文件 script/wxgame/wxgame.ts里的默认参数发布 。因为微信会校验本地和插件里 js 文件的 MD5 值,只要做了任何一点修改, MD5 值就会不一致,那么微信会调用本地的这个 js 版本,不会使用远程插件里的。

以上就是本次5.2.31更新全部内容,欢迎各位开发者更新体验最新的引擎插件功能。

联系我们

开发者技术交流区:bbs.egret.com

在线开发者微信群:egretengine(搜索微信号添加)

官方技术支持邮箱:support@egret.com

市场合作:marketing@egret.com

商务合作:bd@egret.com

招聘邮箱:hr@egret.com

白鹭引擎微信号

27b92dd2-3d1d-eb11-8da9-e4434bdf6706.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值