依赖组件配置
插件依赖以下cocos模块,请在creator的项目->项目设置->模块设置中勾选下面插件依赖的模块:
- cc.Sprite
- cc.Mask
- cc.RichText
- cc.Label
- cc.Widget
- cc.ScrollView
- cc.Graphics
- cc.Layout
- cc.Scrollbar
- cc.BlockInputEvents
代码引入
将下载的插件代码引入mgplugin.js引入到项目目录。
javascript项目下,可通过require引入:
const MgPlugin = require('./mgplugin'); // 这里的路径为插件代码路径
typescript项目下,则需要使用对应的mgplugin.d.ts声明文件(实际上,cocos的typescript项目不用声明文件也可引用js模块,但如果项目另外使用了typescript的编译工具或语法检查工具,则需要引入声明文件,以免出现语法报错,另外如果使用了visual studio的编辑器,使用声明文件也便于对插件的接口进行代码提示),声明文件在代码包中,有关声明文件的使用方式请查阅typescript的使用文档。
typescript下通过import引入:
import * as MgPlugin from './mgplugin' // 路径为插件代码路径
创建插件实例并将UI节点插入到游戏节点
调用下面的构造函数创建插件实例,传入的参数为游戏的appid和当前用户的openid:
let recommendUI = new MgPlugin.RecommendUI({
appid: 'wxfgqwavfhegdg3',
openid: 'u38fbgdkeruip',
onHide: function() {
console.log('hide');
} // 隐藏回调函数
});
v1.0.2
版本开始,支持构造参数设置插件隐藏回调onHide
。
v1.0.4
版本后,新增插件入口和红点功能。需要在游戏场景中创建插件入口节点entrance
和红点节点reddot
,节点要求为cc.Node的类型即可。(目前尚未发布)
var recommendUI = new Mgplugin.RecommendUI({
appid: 'wx234ffd5ghdsd',
openid: 'u3s54g542dxq3hnn',
entranceNode: entrance,
reddotNode: reddot,
onHide: function() {
console.log('hide');
} // 隐藏回调函数
});
然后通过实例的root属性获取到插件UI的根节点,将其插入到适当的游戏场景节点中:
cc.Canvas.instance.node.addChild(recommendUI.root);
注意要保证插入的父节点的anchor(锚点)在游戏窗口的中心,否则插件的推荐游戏的浮层将无法正确定位,上面示例代码是以插入到游戏的canvas节点为例子。
浮层UI节点默认是隐藏的,需要显示的时候,调用实例的show方法即可,一般用法是和游戏的插件入口按钮点击绑定在一起:
button.on(cc.Node.EventType.TOUCH_START, e => recommendUI.show());
建议游戏的插件入口按钮在游戏的后台添加开关配置,可以随时控制线上版本的插件入口是否显示,避免插件自身突发状况影响用户体验。
节点的管理
一般游戏都只会维护一个节点的实例,如果因为场景跳转等原因,节点被销毁,重新进入场景时需要重新创建插件实例。游戏方需要注意避免创建了多个插件实例对象,造成内存泄漏等问题。
数据上报验证
接入完成后需通知腾讯的产品同学(Yalihuang、linlinyang、yeetian)进行数据上报验证,验证完毕后方可发布上线。
另外,接入完成后请游戏侧进行适配测试,重点关注iphoneX适配问题。