cocos2d-x Android版游戏之中国移动SDK嵌入

1. 拷贝API

将SDK\runtime\CMBilling20007.jar拷贝至游戏工程的runtime目录下(或其他目录) ,但切记不能放在libs目录下编译,否则编译报错(如:bad range。)(完成)

将SDK\libs\armeabi\libmegjb.so拷贝至游戏相同的目录。 (完成,注:每次编译后应该重新拷贝)

2.拷贝资源

将SDK\assets,SDK\res中的所有资源拷贝到游戏相同目录下.(完成,注:assets每次编译后应该重新拷贝)

3.替换游戏厂商logo或游戏logo

将assets/OpeningAnimation 目录下的两个图片:

g_logo_sp.png  g_logo_cp.png 换成自己的.  有格式要求见文档.

SP与CP相同时将其中一个换成游戏logo,避免重复

4.替换游戏名称图片

SDK\assets\OpeningAnimation\g_game_title.png

有格式要求见文档.

5.添加SDK提供的Activity引用.

A.将SDK\AndroidManifest.xml.activity.txt中的文本copy到游戏的AndroidManifest.xml中.

B.android:screenOrientation,设置横竖屏,最好设置成主界面的横竖屏.(完成)

6.添加需要的权限use-permision

将SDK\AndroidManifest.xml.activity.txt中的文本copy到游戏的AndroidManifest.xml中(完成)

不要重复添加权限

7.为游戏主入口添加中国移动游戏基地标识(Intent-Filter)

为游戏主入口Activity添加中国移动游戏基地标识

8.游戏计费信息配置文件

assets下面有Charge.xml,ConsumeCodeInfo.xml(必须存在,待游戏提交后会动态替换这两个文件)

9.应用程序加载接口

游戏开发者在集成SDK,务必先自定义全局Application。Application里面代码必须包含:

System.loadLibrary("megjb");

可以直接拷贝SDKDemo中的java.

 示例代码如下:

public class CmgameApplication extends Application {

  public void onCreate() {

    System.loadLibrary("megjb");

  }

}

AndroidManifest.xml中配置:

注意: 该Application类的package路径必须同AndroidManifest.xml中配置的packageName一致

10.游戏初始化接口

游戏的初始化是实现游戏计费的必须操作。(必须在UI线程中调用)

在游戏启动之后先需要调用如下方法,否则无法使用计费功能

1 GameInterface.initializeApp(Activity gmain);

 重载方法1,仅用于初始化SDK的基本信息,并不触发计费功能,游戏的计费行为可以通过2.6.2章节的doBilling接口完成,但是:如果游戏只有一个计费点,可以直接调用下面的简化接口,将初始化与试玩计费逻辑一并执行,请参考重载方法3。

 如果希望由合作伙伴自己指定计费界面的游戏名称,游戏提供商及客服电话信息(SDK默认采用平台上申报业务时填写的客服电话),可以调用重载接口2实现:

2 GameInterface.initializeApp(Activity main, String gameName, String provider, String serviceTel);

调用示例:

GameInterface.initializeApp(this);

11.游戏的启动画面

方式一:调用SDK中的GameOpenActivity实现(推荐使用)

在AndroidManifest.xml中的主入口Activity配置为GameOpenActivity(即SDK提供的游戏启动画面的Activity)。游戏原来的主入口Activity请添加到res/values/g_strings.xml中的g_class_name字符串中,使得启动画面完成后即启动游戏

例如:

"g_class_name">your.game.ui.Entry

另外:该方式可以通过接口GameInterface.isMusicEnabled()来判断用户是否选择开启背景音效,接口详细定义见(2.9章节)

 如果游戏使用的API Level是小于等于3的情况,即:游戏是基于Android 1.5开发的,那么还需要设置一个低版本标识,(API 小于4的情况,Android本身不支持图片自适配,故可能导致SDK中的界面元素被放大,UI效果差)

"gc_billing_islow_version">true,这样SDK会读取该标识,并完成开机界面的自适配。

12.游戏的退出接口

游戏退出时,需调用该接口完成退出逻辑,该接口是与2.2.2章节成对出现,前者用户初始化SDK实例,后者用于释放SDK占用的资源及内存,并实现退出确认界面。

调用接口:

GameInterface.exit(Contextcontex, GameExitCallback callback); 

调用示例:(具体可以参考Demo示例的BillingDemo.java)

GameInterface.exit(BillingDemo.this, new GameExitCallback() {

@Override

     public void onConfirmExit() {

     // 游戏开发者需要实现该方法,该方法是在用户点击确认退出后的回调实现

// 这里通常是释放游戏资源,关闭会话,finish界面等操作。

     }

     @Override

     public void onCancelExit() {

     // 采用第一种方案,该接口方法可以不用添加任何代码,SDK内部会把当前的退出

       // 界面finish掉,此处如果游戏开发者有特殊处理需要,可以另加实现代码。

     }

});

在这里确定退出中调用2dx中的ene(),时会出现bug:第一次进入正常,第二次闪退,第三次正常,第四次闪退...

看logcat中会有如下错误:

11-15 11:25:08.922: D/cocos2d-x debug info(9466): OpenGL error 0x0501 in /Users/zxtw/Documents/cocos2d-x/cocos2d-2.1rc0-x-2.1.2/cocos2dx/draw_nodes/CCDrawingPrimitives.cpp lazy_init 76

注:结果办法是system.exit(0);

13.更多游戏接口

GameInterface.viewMoreGames(Context context);

14.SDK计费点开发

一.强制计费点时,调用这个计费点之前,必须调用获取付费标志接口,判断游戏是否已付费.

15.计费

通过GameInterface中的doBilling接口,可以直接启动计费Activity进行计费,计费Activity内部已经实现了默认的处理方法,合作伙伴只需要监听计费成功或失败的状态即可.

合作伙伴调用如下接口,完成计费流程,通过不同的参数值完成各种计费要求。

如果游戏希望在计费结束,比如计费成功、失败或用户取消计费后,处理自定义的逻辑,

请实现IPayCallback回调,其他情况可直接传null值。

           如果游戏中某个计费点需要重复计费,请将isRepeated参数传true值。

GameInterface.doBilling(Context context, Boolean useSms, Boolean isRepeated,string billingIndex,IPayCallback billingCallback);

中国移动游戏基地游戏平台游戏内容下“激活点信息”中的“激活点计费代码”的后三位示例,计费点“激活游戏”的代码后三位为“001”,计费点“超级弹簧”的代码后三位为“004”。

代码调用示例:

 1)采用短信计费模式,对计费代码后三位为”000”的计费点(非重复计费的计费点)进行付费

BillingCallback billingCallback = new BillingCallback() { 

@Override

public void onBillingSuccess(String billingIndex) {

System.out.println(“OK”);

}

@Override

public void onBillingFail(String billingIndex) {

System.out.println(“fail”);

}

@Override

public void onUserOperCancel(String billingIndex) {

System.out.println(“cancel”);

}

};

GameInterface.doBilling(this, true, false, “000”, billingCallback);

或GameInterface.doBilling(this,true, false, “000”, null);

2)采用联网计费,对计费代码后三位为”001”的计费点(可重复计费的计费点)进行付费

GameInterface.doBilling(this,false, true, “001”, billingCallback); 

特别说明:计费接口要在游戏的主线程里调用

16.设置付费标志接口(不会用到)

17.获取付费标志接口(硬计费点时用到,但一般激活会在2dx中控制,不重要,但写上好一点吧)

18.获取游戏背景音乐开关(在sdk之后游戏初始化时调用,来设置游戏初始声音)

19.获取游戏玩家身份标识(不会用到)

出处:http://blog.sina.com.cn/s/blog_6324d6990101lgjl.html

时间: 2024-10-14 12:04:59

cocos2d-x Android版游戏之中国移动SDK嵌入的相关文章

Android版Flood it游戏源码

flood_it 流行的Flood it游戏的Android版 游戏玩法: 按下屏幕下方的颜色按钮,左上角的色块就会变颜色.只要把整片色块变成同色就赢了. 效果图<ignore_js_op> <ignore_js_op> 源码项目下载:http://code.662p.com/view/4877.html 详细说明:http://android.662p.com/thread-3245-1-1.html

开发腾讯移动游戏平台SDK Android版Ane扩展 总结

来源:http://blog.csdn.net/linguifa/article/details/25832011 本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方案 问题一:编译报错:Unable to resolve target 'android-7': 将低版本的代码导入eclipse时,常遇到这样的问题:Unable to resolve target 'android-XX' 这是原代码中project.properti

飞行熊猫游戏源码android版

这款游戏是前一段时间完成的一个项目,飞行熊猫游戏源码android版,飞行熊猫基于cocos2d游戏引擎开发,包括了谷歌admob广告支持,没有任何版权问题,大家可以自由修改和上传应用商店. 1.本游戏支持无限关卡. 2.源码包也包括了游戏PSD格式资源文件,可自行修改图片. 3.自适应各种屏幕分辨率, 支持android2.1+ 源码下载: http://code.662p.com/view/6682.html <ignore_js_op> <ignore_js_op> <

cocos2d横版游戏之摇杆控制

以上是一个控制摇杆,分为一个底座和摇杆小圈圈,我们的目的是通过算出摇杆小圈跟底座中心的偏移来控制任务的走向,我们计算出一个偏移量来,然后在场景update(foat dt)...每一帧的位置上加上这个偏移量,不停的播放行走动画(当然人物的朝向要对),就可以达到控制任务行走的效果了,这一点你可能一下子就会想到高中学过的向量的加减处理了......坐标象限....之类的. void DirectionControlButton::controlTargetMove(CCTouch *pTouch){

Android Development Environment ADT-BUNDLE android-studio SDK ADT Download

Android ALL VERSIONS DOWNLOAD (64GB ZIPPED) LINK : http://pan.baidu.com/s/1c2v4mXE password: h2mc -- SIZES: -- schema : Android Studio : http://tools.android-studio.org/; Android 开发环境介绍 : 目前 Android 有两种开发环境, 一种是传统的 Eclipse + ADT, 一种就是目前最新并且得到 Google

Android 2D游戏引擎AndEngine配置环境

Android 2D游戏引擎AndEngine配置环境 1.2  配置环境 在任何编程中,都需要一些软件或者硬件的支持.否则,没有硬件软件是不可能存在的,而想要编写对应语言的的程序,这需要对应语言库和编译器等的支持.所以在开AndEngine的游戏也需要这些东西,而我们需要的环境都有那些呢?本节内容就将解密AndEngine环境的配置本文选自Android 2D游戏引擎AndEngine快速入门教程. 1.2.1  环境要求 编写AndEngine需要一定的编程环境才可以完成编写.而为了调试,需

Android版九连环NineRings

喜欢九连环以及想玩九连环的小伙伴们,送福利了,Android版本的九连环小游戏NineRings上线了!!!快来尝鲜吧,如果觉得好玩,请帮忙转发.游戏演示及下载地址 http://onestraw.net/ninerings 91助手下载: http://url.cn/W4R4Eo 百度助手下载: http://url.cn/PhqcRq 安卓市场下载: http://url.cn/JgDfoN Android版九连环NineRings,布布扣,bubuko.com

从零開始开发Android版2048 (二)获取手势信息

今天是尝试開始Android版2048小游戏的第二天.在今天,我主要学习了怎样获取用户在屏幕滑动的手势,以及对布局进行了一些小小的完好. 获取用户操作的手势(比方向左滑.向右滑等)主要用到了GestureDetector.这个类能够帮助我们获取一些常见的用户对屏幕的操作.比如单击.双击.按压.拖动等.详细的使用说明.大家能够查API也能够去百度,或者看我之前有一篇使用GestureDetector实现的小样例(http://blog.csdn.net/xiapinnong/article/det

Android名片扫描识别系统SDK

Android名片扫描识别系统SDK 一.Android名片扫描识别系统应用背景 这些年,随着移动互联的发展,APP应用成爆发式的增长,在很多APP中都涉及到对名片信息的录入,如移动CRM.移动端OA,移动访客系统等:如果手动输入名片信息,速度慢,易出错,用户体验非常差.为了提高在移动终端上输入名片信息的速度和准确性,文通推出OCR名片录入技术SDK,以满足各个行业对名片信息自动录入的需求,只需在APP中集成Android名片扫描识别系统SDK,用户便可通过手机拍照,自动识别录入名片信息. 二.