cocos2d-x android 项目调用插屏广告

首先了解一下 jni的一些东西

http://www.himigame.com/android-game/725.html

里面的我也就不再复制粘贴了。

我这里使用的是mix智游汇的demo。

 

1 和Android项目一样

 首先把mix的jar包放入libs中,添加连接和以前的步骤一样。
添加一个static方法,内部调用MIXView的showAd的方法,注意第一个参数。
public class TEST extends Cocos2dxActivity implements MIXViewListener{
    //定义一个静态的上下文
    public static Context context_;
    
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        //初始化mix插件
          MIXView.initWithID("6f83f191b42739f9", true,
                    this);
        //设置上下文
          context_=TEST.this;
          //可选项:设置mix监听
          MIXView.setListener(this);
    }
    
    static {
         System.loadLibrary("game");
    }
    //这个是himi的demo 静态函数示例2.有参数,无返回值 
    public static void testFunWithInt(int _int) { 
        Log.e("Himi", "静态函数示例1.有参数,无返回值;传入的参数int=" + _int); 
    }
    //这个是mix调用展示广告的方法。
    public static void showAAd(){
        
        MIXView.showAd((Activity) context_, "default");
    }

 

mix.showAd 第二个参数是广告触发位,可以自己设置。

在c++代码中

我自己又添加了一个button,添加了一个回掉函数menuCloseCallback1()

void HelloWorld::menuCloseCallback1()
{
   CCLOG("%s","test...");


    ////静态函数示例1.无参数,无返回值---------------------------------$$$$$$-----------------------------
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) //判断当前是否为Android平台
    JniMethodInfo minfo;//定义Jni函数信息结构体
    //getStaticMethodInfo 次函数返回一个bool值表示是否找到此函数
    bool isHave = JniHelper::getStaticMethodInfo(minfo,"com/aosting/TEST",  //类的路径
                                                 "showAAd", "()V");
    
    if (!isHave) {
        CCLog("jni:此函数不存在");
    }else{
        CCLog("jni:此函数存在");
        
        //调用此函数
        minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID);
           
    }
    CCLog("jni-java函数执行完毕");
#endif

}

 

 运行Android就可以了,其中我没有在ccoos2d-x中游戏状态做处理,比如在展示广告的时候,暂停一些资源,关闭的时候,重新开启。
mix可以自定义广告触发位,也就是mix.showAd 第二个参数。
开始的时候我一直想用在c++中传递string类型,发现很麻烦。可以在c++中传递int参数。
然后在java方法中添加一个switch语句来展示不同的位置广告。
 

 

posted @ 2013-12-05 15:24  aosting  阅读(493)  评论(0编辑  收藏  举报