码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-10-13 02:38:28      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:android   http   io   os   使用   ar   java   for   sp   

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

我的游戏使用的是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和函数调用就可以咯。

 

收工~~

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

标签:android   http   io   os   使用   ar   java   for   sp   

原文地址:http://www.cnblogs.com/geniusalex/p/4021359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!