就如前面《Cocos2d-x PluginX的使用(图文教程)》文章说的,cocos2d-x 默认给 Plugin-x 四个协议接口,ProtocolAds, ProtocolAnalytics, ProtocolIAP, ProtocolSocial,他们默认提供给你的有比如说支付接口等等,但是如果想要增加新的接口,比如说 login登陆,logout退出这些接口就需要自己写了。
当然,要么你直接修改文件,比如说直接修改ProtocolSocial这个接口,但是一般都不提倡你直接修改,所以这里就说一下复制一份之后,改造成想要的就行了。
这里以改造ProtocolSocial这个接口为例,改造后的接口名称为 ProtocolDynamic
【一】复制一份接口
这个接口文件分别在 plugin/protocols 下面的include的ProtocolSocial.h文件、platform/android的ProtocolSocial.cpp文件,platform/ios的InterfaceSocial.h文件和ProtocolSocial.mm文件(如果你的 sdk 只是安卓的,这个文件夹里面的可以不用修改)、proj.android/src/org/cocos2dx/plugin的InterfaceSocial.java文件。
复制ProtocolSocial.h,粘贴一下,把副本命名为ProtocolDynamic.h,复制后效果是这样的
注意,一定要把修改后的那个 ProtocolDynamic.h 的那个避免重复包含的宏修改成其他的,不然和 ProtocolSocial 重复一样的话会在后面的编译过程中出错
然后其他三个文件夹里面一样,也是复制一份,然后粘贴,把文件名的 Social 修改为 Dynamic 就可以了,
【二】修改文件
把文件里面所有的ProtocolSocial替换成ProtocolDynamic,这个就不用说了,然后增加相应的功能,比如说 login();就是在ProtocolDynamic.h头文件里面加一个 login()的函数,然后在剩下的ProtocolDynamic.cpp 文件和ProtocolDynamic.java 文件也按照格式增加。
注意,因为枚举类和这个监听类已经在ProtocolSocial.h 里面有了,所以需要修改下名字,并且把在后面两个地方用到的地方都修改下,直接查关键字就可以了。
修改完这个 ProtocolDynamic.h 文件之后,然后修改plaform/android 下面的PluginFactory.cpp这个文件
包含下头文件,然后增加下枚举,在下面的函数里面增添下 Dynamic 这个类
然后修改ProtocolDynamic.java文件,只是需要增加函数和编写序号,那个序号就是上面的那个枚举的序号,现在编号后是这个样子
最后修改ProtocolDynamic.cpp 文件,就是实现 login()的方法
1、首先要修改下面这句话
因为在 Social 里面已经有这个函数调用了,不修改会重复,所以修改下就可以了,只要不重复就行,因为现在实现 login 是用不到的。
2、然后实现 login()的方法
只需要这一句话就可以了,就会调用java 的login了。
实现完毕之后就已经好了。
3、修改android.mk
然后修改 protocal/proj.android/jni 的 android.mk 这个文件,增加上这个 cpp
然后运行./build_native.sh 编译,编译通过之后就可以直接用了。
然后就是正常的按照使用 plugin-x 的文章,把第三方 sdk 加入 plugin-x ,使用就可以了,选择类型就多了一个 dynamic 这个接口。
然后调用的时候直接用 ProtocolDynamic 就可以了。比如这样
void HelloWorld::menuCloseCallback(CCObject* pSender)
{
plugin::ProtocolDynamic *pp=dynamic_cast<plugin::ProtocolDynamic*>(plugin::PluginManager::getInstance()->loadPlugin("DynamicSUC"));//加载插件
pp->login();
}
其他的就没有了,不会第三方 sdk 加入到 plugin-x使用的请看这个文章。cocos2d-x 使用 plugin-x 图文教程
这里给一个修改后的.h、.cpp、.java 文件,没有搞清楚的可以看看。
【三】demo 下载
Github下载:https://github.com/DamonHu/HudongBlogDemo/tree/master/Plugin-x
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/171.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!