为了更好的提高微信小游戏的打开速度,提升用户体验,微信正式发布了引擎插件功能,白鹭引擎第一时间支持并正式发布支持该功能的5.2.31版本。如下是白鹭引擎插件使用的详细说明文档及常见问题解答,请诸位开发者小伙伴仔细阅读。json
什么是引擎插件服务器
咱们发布微信小游戏的时候,里面会带有egret.min.js、eui.min.js之类的库文件,玩家每次打开一个小游戏,都要重复的下载这些文件。如今咱们把白鹭引擎作成了微信的插件, 5.2.x系列的全部版本都上传到了微信服务器上,开发者只要在项目里进行配置,就可使用远端的插件,不使用本地的引擎文件。微信
这样的好处是,若是一个玩家玩了A游戏,里面使用了5.2.20版本的引擎插件。而后他又玩了B游戏,若是B游戏的引擎插件版本和A游戏一致,那么这个插件就不须要从新下载。这样就能够提升游戏的打开速度,得到更好的用户体验。微信开发
白鹭引擎插件使用和调试环境工具
一、白鹭引擎5.2.31 版本;二、微信开发者工具调试Nightly版本(>=1.02.1910252);注意:正式版还不支持插件功能;三、在Android微信和iOS微信的7.0.7版本(>=7.0.7),可直接体验和测试插件分离功能。使用了插件分离的小游戏,在console日志中会输出:plugin ***** inject success/fail!;四、因为微信开发者工具的bug,使用测试版的 APPID 在开启插件功能时会报错,必须使用在微信后台注册过的正式版 APPID 才能够。五、目前一个APPID,只支持引用一个插件;六、目前支持整包小游戏使用插件,以及分包小游戏的主包使用插件。测试
白鹭引擎插件使用方法ui
一、在Egret Launcher里下载引擎5.2.31版本,使用该版本建立一个游戏项目;二、打开项目中的scripts/config.wxgame.ts文件,将useWxPlugin变量改成true;spa
三、在发布成微信小游戏release版本后(egret publisb --target wxgame),会开启插件功能。debug调试版(egret build --target wxgame)不支持该功能。插件
老项目升级:debug
在老项目中执行 egret upgrade --egretversion 5.2.31 后会把项目升级成支持插件的版本。
使用其余版本的引擎:
若是您的项目不想使用最新的5.2.31版本,要使用其余版本,例如5.2.16之类的引擎,那么能够作以下操做:
一、使用最新版引擎5.2.31建立一个新项目,把这 3 个文件拷贝到老项目里替换原有文件;
注意:其中的wxgame.ts里会对js文件作必定的修改,必定要使用咱们提供的方法,不要对这块作任何的修改。由于微信会对js文件作MD5校验,任何修改都会改变MD5值。
二、在老项目根目录的egretProperties.json里,把compilerVersion编译器版本改为 5.2.31。好比在本示例中,引擎代码仍是5.2.16的,可是编译脚本使用引擎5.2.31,这样就能支持把游戏发布成开启微信插件的形式了。
使用引擎插件的微信小游戏项目结构说明
一、在以前的微信小游戏项目里,咱们会把全部的引擎文件和游戏逻辑文件都放在js文件夹内;
二、在新的项目结构里,增长了一个egret-library文件夹:
三、微信开发者工具打包上传的时候,会自动生成两个包:
FAQ
问:引擎插件里都包含哪些库?
答:包含白鹭引擎官方提供的 7 个库,注意:只包含发布版的 xx.min.js, 不包含调试版的xx.js。具体的文件列表以下:
问:若是为了让包体小一些,不考虑兼容老版本微信的玩家,只使用远程插件里的引擎。是否能够不在小游戏项目里放一份引擎,这样能够吗?
答:理论上是能够的,可是微信官方不建议这么作。另外若是使用引擎插件功能,包的总大小会算上线上插件里的引擎代码,因此您本身衡量是否值得。
问:我对引擎作了修改,还可使用远程插件吗?
答:不能作任何修改,并且必须用官方提供的编译配置文件 script/wxgame/wxgame.ts里的默认参数发布 。由于微信会校验本地和插件里 js 文件的 MD5 值,只要作了任何一点修改, MD5 值就会不一致,那么微信会调用本地的这个 js 版本,不会使用远程插件里的。
以上就是本次5.2.31更新所有内容,欢迎各位开发者更新体验最新的引擎插件功能。