cocos2d-x 移动MM平台SDK接入
来源:互联网 发布:hp打印机墨盒清零软件 编辑:程序博客网 时间:2024/05/01 13:44
注意: cocos2d-x 3.x版本后可以使用AnySDK来接入第三方SDK, 比下面介绍的方法方便很多, AnySDK官网
cocos2d-x版本:2.2
开发平台:Windows
官方Wiki介绍了如何接入第三方SDK, 不过是英文的, 我在此更详细的介绍下.官方Wiki地址:点击打开链接
打开ADT(Android Develop Tool, 就是你用来开发Android的Eclipse), 导入cocos2d-x/plugin文件夹下的所有项目, 如图:
这些项目中项目名Hello开头的都是官方的示例, 其中HelloIAP和HelloIAP-JS是和付费相关的示例, 剩余Hello开头的是与广告平台和社交平台的示例. 剩下lib开头的项目中, libPluginProtocol这个项目中是供其他lib开头项目使用的. 还有一个91SDK开头的项目, 这个项目存放了91平台使用过程中的一些UI文件, 如果要使用91平台进行付费, 就必须在你的项目中引入这个项目. 最后还需要libcocos2dx这个项目, 选择导入目录的时候使用cocos2d-x/cocos2dx即可, eclipse会自动寻找.
导入工作完成后, 项目文件上有可能会感叹号或者叉叉, 修改下项目的属性即可.
确保项目文件夹上没有叉叉或者感叹号就可以继续下一步了.
新建一个Android项目, 这里我取名为libPluginMobileMM. 注意这里的包名一定要使用org.cocos2dx.plugin
点击下一步, 此处设置项目为Library, 然后点完成.
设置下新建项目的属性, 将libPluginProtocol这个项目引入到项目中.
在此项目中新建一个文件夹, 取名为sdk(注意大小写), 然后将移动MM SDK文件夹中的.jar文件拷贝到sdk中, 剩下的两个.so文件先不管. 右键刚刚拷贝进来的.jar文件, Build Path -> Add to Build Path. 现在可以开始在新建的项目中写代码了. 新建一个类, 这个类必须实现且只能实现一个接口InterfaceIAP, 代码可以参考libPluginNd91和移动MM给的Demo项目中代码来写.
package org.cocos2dx.plugin;public class AnalyticsFlurry implements InterfaceAnalytics { ... public AnalyticsFlurry(Context context) { mContext = context; }}
代码写好后记得生成一下, 然后在项目中添加一个文件ForManifest.xml, 此文件可以去libPluginNd91中拷贝一份, 不过里面的内容需要修改. 打开ForManifest.xml文件, 将<applicationCfg>节点中的内容和<permissionCfg>节点中的内容替换成移动MM的, 可以去移动MM Demo项目的AndroidManifest.xml中找. 然后再在项目中添加一个build.xml文件, 这个文件同样可以去其他项目中去拷贝, build.xml文件中开头project name的值要改成自己的项目名称, 比如:
<?xml version="1.0" encoding="UTF-8"?><project name="libPluginMobileMM" default="plugin-publish"> ...</project>
以上这些都做好后, 打开cocos2d-x/plugin/plugins文件夹, 在此建一个文件夹, 我这里取名mobilemm, 在mobilemm文件夹中新建文件夹proj.android, 将刚刚写好的libPluginMobileMM文件夹下中的内容全部拷贝到proj.android中.
接下来修改cocos2d-x/plugin/tools/config.sh这个文件, 用记事本方式打开, 将mobilemm文件夹名添加到ALL_PLUGINS中:
export ALL_PLUGINS=("protocols" \"flurry" "umeng" \"alipay" "nd91" "mobilemm")接下来双击运行(或者使用Cygwin控制台)cocos2d-x/plugin/tools下的publish.sh文件. 运行中可能会要求你输入NDK的目录地址, Android SDK的目录文件夹地址和ant的地址. 输入完成后等待处理完成. 处理完成后再运行cocos2d-x/plugin/tools下的gameDevGuide.sh, 输入你的项目的Android项目目录地址, 选择mobilemm或者你要使用的其他插件, 然后下一步, 等待处理完成即可. 这部分官方也有Wiki:点击打开链接
接着, 还需要在你的C++代码和java代码中添加一些代码:
protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);PluginWrapper.init(this); // for plugins// If you want your callback function can be invoked in GL thread, add this line:PluginWrapper.setGLSurfaceView(Cocos2dxGLSurfaceView.getInstance());}
C++部分如何使用可以参考HelloIAP这个项目.
还记得有两个.so文件吗, 将这两个放到你游戏项目的jni文件夹中, 如图:
然后修改上图中的Android.mk文件, 我把我自己的Andorid.mk贴出来, 照着修改就行了.
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := casdkjniLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcasdkjni.soinclude $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := identifyappLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libidentifyapp.soinclude $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := cocos2dcpp_sharedLOCAL_MODULE_FILENAME := libcocos2dcppMYSRC_ROOT := $(LOCAL_PATH)/../../ClassesFILE_LIST += $(wildcard $(MYSRC_ROOT)/*.cpp)LOCAL_SRC_FILES := hellocpp/main.cppLOCAL_SRC_FILES += $(FILE_LIST:$(LOCAL_PATH)/%=%)LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../ClassesLOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static \PluginProtocolStaticLOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_staticLOCAL_WHOLE_STATIC_LIBRARIES += box2d_staticLOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_staticLOCAL_WHOLE_SHARED_LIBRARIES += casdkjniLOCAL_WHOLE_SHARED_LIBRARIES += identifyapp#LOCAL_SHARED_LIBRARIES := casdkjni identifyapp include $(BUILD_SHARED_LIBRARY)$(call import-module,cocos2dx)$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)$(call import-module,CocosDenshion/android)$(call import-module,extensions)$(call import-module,external/Box2D)$(call import-module,external/chipmunk)$(call import-module,plugin/publish/protocols/android)
重新编译一下游戏Android项目, 至此, 移动MM SDK的接入就完成了. 如果有疏漏或者其他问题, 欢迎留言.
- cocos2d-x 移动MM平台SDK接入
- cocos2d-x -- 渠道SDK【棱镜】接入(1)
- cocos2d-x -- 渠道SDK【棱镜】接入(2)
- iOS 平台 Cocos2d-x 项目接入新浪微博 SDK 的坑
- 移动广告平台Android SDK接入指南
- iOS 平台 Cocos2d-x 项目 接入第三方SDK 的坑(就是静态库接入的问题)
- Unity3d 接入 移动MM支付SDK(2.3) 全攻略
- Unity3d 接入 移动MM支付SDK(2.3) 全攻略
- cocos2dx安卓客户端接入移动MM付费SDK
- Unity3D接入移动MM支付SDK(强联网)
- Unity 3D 接入 移动MM (3.1.3)计费SDK
- cocos2d-x之Facebook平台接入接口
- air应用接入移动mm弱联网平台
- cocos2d-x嵌入移动MM短代支付IAP2.4的SDK,点击支付崩溃的解决办法
- cocos2d-x sdk接入库文件拷贝问题
- Cocos2d-x 接入sdk遇到的小问题
- 讯飞移动广告平台iOS SDK接入指南
- Untiy 接入 移动MM 详解
- 数字证书原理
- 图像处理和图像识别中常用的OpenCV函数
- 设置UIButton的文字显示位置、字体的大小、字体的颜色 .
- top
- 数据公钥加密和认证中的私钥公钥
- cocos2d-x 移动MM平台SDK接入
- (Relax 数论1.19)POJ 3244 Difference between Triplets(找规律..//公式max(a,b,c)-min(a,b,c)=(|a-b|+|b-c|+|a-c)
- 打车小秘推会员专享服务特权,或为盈利模式“试水”
- java学习之路----java类库----System类
- camera全景模式预览方向异常
- 建立高并发服务器的一种有效方式
- Linux书籍
- 数字证书的原理与实现
- BOM utf-8 的去掉BOM的方法