cocos2dx平台对接(Amazon IAP,Chartboost,Email)

主要目的是备忘,如果有幸能帮上其他朋友,那最好了

我的游戏使用的是cocos2dx 2.2.5,当然,使用2.1.x ~ 2.2.5版本都是可以的,没有什么变动。

一、Java调用C++

1、在JAVA项目中,声明一个带“native”的静态函数,比如 (假设包名是 com.ooxx.mygame

class MyActivity{

public static native int onIAPCallback(int select);

}

在JAVA项目中,你就当这个函数是一个普通的静态函数来调用就可以了。

2、打开jni下面的main.cpp,照着里面的那些函数的样子,写上

jint Java_com_ooxx_mygame_MyActivity_onIAPCallback(JNIEnv*  env, jobject thiz,jint select)

{

//调用你的C++代码

}

二、C++调用JAVA

1、在JAVA项目中,声明一个普通的静态函数,比如 (假设包名是 com.ooxx.mygame

class MyActivity{

public static void onBuySomething(int itemID){

//做你想做的事

}

}

2、在C++项目中,调用这个函数

//包含JniHelper.h

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include "platform/android/jni/JniHelper.h"
#endif

//调用JAVA中的静态函数

#elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
    JniMethodInfo t;
    if (JniHelper::getStaticMethodInfo(t, "com/ooxx/mygame/MyActivity", "onBuySomething", "(I)V"))
    {
        t.env->CallStaticVoidMethod(t.classID, t.methodID,itemID);
        t.env->DeleteLocalRef(t.classID);
    }
#endif //

这里附上AndroidJNI说明 请走这里  足以解答你的疑惑

三、点击某个按钮,打开玩家机器上的邮件,可以拿来做好友邀请,游戏反馈等

public static void sendEmail(String sendTo,String subject,String body){
    Intent email = new Intent(android.content.Intent.ACTION_SEND);
    email.setType("plain/text");
    String[] emailReciever = new String[]{sendTo};
    email.putExtra(android.content.Intent.EXTRA_EMAIL, emailReciever);
    email.putExtra(android.content.Intent.EXTRA_SUBJECT,subject);
    email.putExtra(android.content.Intent.EXTRA_TEXT, body);
    GameActivity.Self.startActivity(Intent.createChooser(email, "Choose Email Client"));
}

四、打开Amazon商店

public static void onOpenInMarketClient(String id){
    Intent intent = new Intent(Intent.ACTION_DEFAULT);
    Uri content_url = Uri.parse("amzn://apps/android?asin="+id);  
    intent.setData(content_url);
    GameActivity.Self.startActivity(intent);
}

注意:大部分ANDROID市场是使用 market://apps/android?id= 来做前缀。但Amazon很蛋疼。  上面的代码可以正确打开玩家手机上的Amazon商店

至于asin码如何而来,请走这里

五、Amazon IAP支付

直接下载Amazon IAP来改就可以了,不需要做太多工作

六、Chartboost

比Amazon还简单,下载SDK,有一个Sample,把代码弄进来,改改ID和函数调用就可以咯。

收工~~

时间: 2024-08-05 02:30:56

cocos2dx平台对接(Amazon IAP,Chartboost,Email)的相关文章

JSONP平台对接代码备份

<script type="text/javascript">$(function(){  $.ajax({   url:"http://192.168.11.97:8025/battle_summary?player_guid=1000000",   async: false,   dataType:"jsonp",   jsonpCallback:"summary",   success:function(su

线下线上对接的一种思路(本地erp与线上电子商务平台对接)

目前很多公司都希望本地的ERP能够与线上的电子商务平台进行对接. 但是很多的线下ERP系统商不愿意修改代码来做相应的对接,或者觉得太话费成本. 而对于企业本身,又会有很多的特殊需求. 下面略述一家进口商品企业的线上线下整合方案. 线下系统使用深圳思迅的门店管理系统,使用VS.Net平台开发,数据库使用MSQL2005,BS结构(内部管理用)+CS结构(门店POS开单),局域网部署 线上系统使用本地的一家电子商务平台提供商的商城系统(通过该平台,让分销商可以直接采购下单,查询库存,以及及时下载最新

所说这几天遇到的.net api 和java平台对接遇到的坑及技术总结

这两天 一直和京东对接接口,我们用.net api 提供接口,对方用java调用,本来没什么问题,但是对方对数据安全要求特别严,要验签,于是噩梦开始了. 1.在传输的时候,约定传输格式: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);//+ "?RequestData="+ param request.Method = "POST"; request.ContentType = &qu

深圳银医平台对接感想

这是我进入研发后的第一个项目,每个人都想把第一次做好,因为第一次才是真爱,得好好学习,真正体验在实战中提升自己的能力. 对接项目主要分为以下几个部分. 1.拿到接口文档 首先你一定要拿到最新的文档,一定要是最新的.这次对接银行技术人员陆陆续续给了好几份文档,而且还是在自己代码编写的过程中,严格按照文档上的入参组装参数后却没有得到应有的返回结果发现的.于是才和对方进行多次沟通,最终难道最新的文档,并要求如果文档有任何更新,及时抄送一份给我们. 2.确认功能需求,评估工作时间 文档拿到后,这时你需要

第三方支付平台对接设计

在很多B2B商城.互联网金融和充值类等大型网站,都会用到在线支付.在线支付平台有很多,比如有:微钱包,财务通,支付宝和翼支付等,手机APP端的有:连连支付.易联支付.一个网站,在线支付平台都不止一个,那怎么设计才好呢? 简单的设计图如下: 针对上面的设计图,我们需要建两个表. 银行充值表:银行名字(BankName).平台代号英文(PlatForm).平台代码中文(PlatFormCn).银行代号(BankCode).排序(OrderNum).是否显示(IsShow) 充值流水表:客户ID,充值

平台对接SQL server 数据库

首先在下面的地址中下载sql server客户端并在平台服务器端打开:http://pan.baidu.com/s/1c2JiWJu 配置方法如下: 然后在平台开发工具--数据库中,添加数据库即可: 原文地址:http://bbs.delit.cn/thread-859-1-1.html 转载请注明出处: 撰写人:度量科技http://www.delit.cn

微信小程序及各种平台对接常用可逆加密算法aes256

不同程序之间经常会交换数据,我们经常采用的套路是: 假设要传输的信息是json,我们假设其为json_data,通过http传递信息为 json_data_encode=json_data&sign=md5(json_data+key) 接收方通过验证sign就知道内容有没有被篡改. 但是,这样json_data作为明码传送会让我们不太开心,所以今天的我们要介绍的aes256出马了,他是一强度很高的可逆加密算法! aes256加密出来的内容是二进制的,不好通过http协议传输,所以我们再配合上b

cocos2d-x之jni使用(对接Android各种sdk)

游戏弄完了,要发布到各个平台,ios.Android是肯定少不了的,那么本文就来讲讲Android平台对接代理商付费sdk.各渠道.五大运营商.广告.分享.数据统计等等少不了的jni调用,接sdk真是各种麻烦事儿啊... 首先,这么多sdk,功能各有不同,所以得有一个统一的sdk管理类来管理,然后游戏中需要用到什么功能的时候调用指定接口,接口实现时,不同的平台在调用不用的sdk~ 然后,c++调用java层:(拿显示广告来举例) //===============================

HelloX操作系统与中国移动OneNET物联网平台成功完成对接

HelloX成功与中国移动物联网平台对接 经过HelloX项目组同仁的努力,尤其是Tywin(@飓风)的努力下,HelloX最新版本V1.78已成功与中国移动OneNET(open.iot.10086.cn)物联网平台完成对接.这标志着HelloX操作系统又向物联网领域的应用迈出了一大步. OneNET平台是中国移动物联网公司推出的专门针对物联网设备提供服务的云平台,只要遵循OneNET的接入协议,任何终端都可以与OneNET通过Internet进行对接.目前,OneNET平台支持RestFul