COCOS2DX 添加广告(百度移动联盟)
查看类路径方法:
javap -s YourClassName
定义:
打开: \项目\proj.android\src\org\项目名\你的游戏名
public class FNXN extends Cocos2dxActivity{ …… …… public static AdView adView; // 第3方广告 …… …… }
方法1:
android 代码:
public static void TESTADS() { new Thread(new Runnable(){ @Override public void run() { adView.setVisibility( adView.VISIBLE ); } }).start(); }
C++ 代码:
载入头文件
#include <jni/JniHelper.h>
JniMethodInfo minfo; jobject jobj; bool b = JniHelper::getStaticMethodInfo(minfo, "org/agame/fnxn/FNXN", //类路径 请修改成自己的类路径 "TESTADS", //静态方法名 "()V"); //括号里的是参数,后面的是返回值。 jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);
方法2(广播):
和方法1大同小异
Android 代码:
private class MainHandler extends Handler { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: { adView.setVisibility( adView.VISIBLE ); break; } case 2: { adView.setVisibility( adView.GONE ); break; } default: break; } } }
在onCreate里添加下列代码
protected void onCreate(Bundle savedInstanceState){…… super.onCreate(savedInstanceState); //添加 mHandler = new MainHandler(); …… }
继续添加静态函数:
public static void SendMsg(int i) { mHandler.sendEmptyMessage(i); Log.i("A", "SendMsg:"+i); }
C++ 代码 :
调用 SendMsg 就可以了
JniMethodInfo minfo; jobject jobj; jint _int = 1; bool b = JniHelper::getStaticMethodInfo(minfo, "org/agame/fnxn/FNXN", //类路径 "SendMsg", //静态方法名 "(I)V"); //括号里的是参数,后面的是返回值。 jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID, 1 );