0
点赞
收藏
分享

微信扫一扫

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{
//...
//other code
//...
public static native int onIAPCallback(int select);
//...
//other code
//...
}

 

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

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

jint Java_com_ooxx_mygame_MyActivity_onIAPCallback(JNIEnv*  env, jobject thiz,jint select)
{
//call your cpp code
}

 

C++调用JAVA

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

class MyActivity{
//other code
//...

public static void onBuySomething(int itemID){
//do what you wanna
}

//other code
//...
}

 

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和函数调用就可以咯。

 

收工~~


作者:​​麒麟子 ​​​
​​
简介:麒麟子,编程15年,科技创始人,技术作家。
09年进入游戏行业,16年创立成都幼麟科技有限公司。十年从业经验练就了游戏全栈技能,目前专注于手机游戏领域。

举报

相关推荐

0 条评论