收藏
评论

Cocos引擎插件接入指引

一、背景

为了提升小游戏的打开速度,提高用户体验,提供引擎插件能力,可提前体验并进行稳定性与性能测试。

本次众测的引擎插件会单独在微信客户端进行缓存。当小游戏首次启动时,如果本地已经存在同类别游戏引擎插件,可直接复用引擎插件或可通过增量下载的方式快速下载,从而提升启动速度。

接入指引:

Cocos引擎插件接入链接:https://developers.weixin.qq.com/community/minigame/doc/0002049772c770f053d86e54d5b404
微信Android客户端版本下载链接:http://dldir1.qq.com/weixin/android/ammdev_0x27000564_appbrand_game.apk

微信iOS客户端testFlight(请扫码下载):

微信开发者工具Windows版本32位链接:https://dldir1.qq.com/WechatWebDev/1.2.0/201906242/wechat_devtools_1.02.1906242_ia32.exe
微信开发者工具Windows版本64位链接: https://dldir1.qq.com/WechatWebDev/1.2.0/201906242/wechat_devtools_1.02.1906242_x64.exe
微信开发者工具Mac版本链接:https://dldir1.qq.com/WechatWebDev/1.2.0/201906242/wechat_devtools_1.02.1906242.dmg  

请开发者关注

  • 目前一个APPID,只支持引用一个插件

  • 暂不支持在分包内引用插件

二、引擎插件配置

使用新版引擎IDE或引擎工具重导出微信小游戏即可。


使用新版引擎IDE或引擎工具重导出后,会有三个变化。

(1) 引擎插件为单独目录,内置plugin.json和signature.json。其中signature.json用于校验,此两个文件不会打包到代码包中

(2) game.json中添加通用插件配置

(3) 使用引擎的方式变更为requirePlugin

2.1 引擎插件本地目录结构

~~~json xxxx-lib --test.js //插件实现文件(可包含多个)
--plugin.json //插件配置文件
--signature.json //插件文件校验文件 ~~~

2.1.1 plugin.json配置

~~~json { "main": "index.js" //插件的入口文件 } ~~~

2.1.2 signature.json配置

~~~json { "provider":"wxidfsdfsdfsdfsdf", "signature": [ { "path": "aaa-js.js",//相对插件目录的路径 "md5": "5951fef57e1b6902a1c5e5ae5a6ea441" } ] } ~~~

| 字段名称 | 含义 |

| --------- | ---------------------------- |

| provider | 插件申请的appId |

| signature | 插件目录签名 |

| path | 插件文件(相对插件目录的路径) | | md5 | 对应文件的md5 |

2.2 game.json添加的配置

~~~json { "plugins": { "alias": { // 自定义的alias 是 requirePlugin 时用的 alias "provider": "wxidfsdfsdfsdfsdf", "version": "1.0", "path": "aaa"//目录结构 } } } ~~~

字段含义:

| 参数名称 | 参数含义 |

| -------- | --------------------------------- |

| plugins | 通用插件的配置 |

| alias | 自定义的alias requirePlugin时可用 |

| provider | 插件的appId |

| version | 插件版本 |

| path | 引擎插件的本地文件夹路径 |

2.3 使用引擎方式变更

~~~shell 1、requirePlugin('alias') -- plugin.json中配置的alias 2、requirePlugin('alias/xxx.js') -- 指定任意js文件 ~~~

三、使用微信开发者工具调试插件

1、调试引擎插件功能时,请不要选择自动更新开发工具,开发工具的版本号为: v1.02.1906242。


2、在本地设置界面,调试基础库请选择9.9.9版本


3.1 调试

在代码调试过程中,项目设置中的本地设置会出现 “使用本地插件” 的选项。

  • 勾选该选项后,代码调试过程中,将使用path 字段指定的目录中的文件作为插件代码文件进行调试,且仅 signature.json 文件中声明的 js 文件可以被引用到。

  • 不勾选该选项,代码调试过程中,将使用线上已发布的全量的 provider  version 版本的文件作为引用的插件代码进行调试。


对于 plugins 中有 path 字段的使用方式,系统默认使用线上已发布的全量的 provider  version 版本的文件作为引用的插件代码进行调试。

注意:

  • 一旦使用本地的插件进行调试,所指定的本地插件目录下的所有 js 文件都不会被工具进行编译,例如 ES6 转 ES5 或者增强编译。

3.2 代码上传/预览

对于 plugins 中有 path 字段的使用方式,上传/预览时,系统是使用该字段指定的路径中的文件作为引用的插件代码。同时,系统会校验 signature.json的合法性,包括:provider 必须与 plugin  provider 一致;signature 里任意文件的 md5 必须与设实际计算的 md5 一致。而且,只要不在signature.json  signature 字段里定义的 js 文件,都不会被打包上传。

对于 plugins 中无 path 字段的使用方式,上传/预览时,系统会直接使用线上已发布的全量的 provider  version 版本的文件作为引用的插件代码。

四、在微信客户端中体验插件分离功能

在微信客户端中可直接体验到插件分离功能,使用了插件分离的小游戏,在console日志中会输出

~~~shell plugin ***** inject success/fail! ~~~


最后一次编辑于  07-29  (未经腾讯允许,不得转载)
复制链接收藏赞 0
帖子已隐藏