方式一: 
1. 在cocos2dx编译完成的项目(proj.android)加入 GDTUnionSDK.4.8.524.min.jar广点通jar包。 
2. 添加权限声明

                            

3.添加activity, service的声明

android:name="com.qq.e.ads.ADActivity"        android:configChanges="keyboard|keyboardHidden|orientation|screenSize" />
4. 在AppActivity中添加广点通demo中显示插屏广告的方法, 并且添加一个静态的Handler成员变量.

private static Handler mHandler;private InterstitialAD iad;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mHandler = new Handler(){public void handleMessage(android.os.Message msg) {switch (msg.what) {case 1:showAD();break;case 2:showAsPopup();break;case 3:closeAsPopup();break;default:break;}};};}private InterstitialAD getIAD() {if (iad == null) {iad = new InterstitialAD(this, Constants.APPID, Constants.InterteristalPosID);}return iad;}private void showAD() {getIAD().setADListener(new AbstractInterstitialADListener() {@Overridepublic void onNoAD(int arg0) {Log.i("longer", "LoadInterstitialAd Fail:" + arg0);}@Overridepublic void onADReceive() {Log.i("longer", "onADReceive");iad.show();}});iad.loadAD();}private void showAsPopup() {getIAD().setADListener(new AbstractInterstitialADListener() {@Overridepublic void onNoAD(int arg0) {Log.i("longer", "LoadInterstitialAd Fail:" + arg0);}@Overridepublic void onADReceive() {iad.showAsPopupWindow();}});iad.loadAD();}private void closeAsPopup() {iad.closePopupWindow();}
4. 添加静态方法, 提供给c++调用

/** * c++中調用的方法 * @param what    1: 使用showAD方式展示插屏广告 *   2: 使用showAsPopup方式展示广告 *   3: 关闭popup广告 */public static void showAd(int what) {mHandler.sendEmptyMessage(what);}

5. 在cocos2dx工程中添加GDTAD.h和GDTAD.cpp文件,类容如下:

.h文件

#ifndef GDTAD_H  #define GDTAD_H  class GDTAD {public:/*what 1 -- 10  插屏广告, 1 : 显示what 11 -- 20 ......, 11: 显示what 21 -- 30 ......, 21: 显示*/static void showAd(int what);};#endif //GDTAD_H  
cpp文件

#include "GDTAD.h"#include "cocos2d.h"USING_NS_CC;#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)#include "platform/android/jni/JniHelper.h"#include const char* AppActivityCalssName = "org/cocos2dx/cpp/AppActivity";void GDTAD::showAd(int what) {cocos2d::JniMethodInfo jniShowAd;if (cocos2d::JniHelper::getStaticMethodInfo(jniShowAd, AppActivityCalssName, "showAd", "(I)V")) {jniShowAd.env->CallStaticVoidMethod(jniShowAd.classID, jniShowAd.methodID, what);}else {log("jni:showAD false");}}#elsevoid GDTAD::showAd(int what) {log("jni:showAD");return;}#endif

6. 在想要显示广告的地方调用GDTAD类的静态方法showAd进行广告的显示。

GDTAD::showAd(1);

7. 集成效果如app:  http://pan.baidu.com/s/1dFK5Uk5





更多相关文章

  1. Android(安卓)实现ListView 3D效果 - 1
  2. Myeclipse添加android开发插件
  3. Android(安卓)中的时间日期控件
  4. Android系统添加自己写的工具
  5. Android实现EditView获取焦点但不弹出软键盘
  6. android定制系统实现app自启
  7. Android(安卓)alertdialog的自定义添加按钮和添加点击
  8. android 模拟器手机如何添加文件到sd卡
  9. 在Ubuntu中和Android中添加开机自启动的守护进程

随机推荐

  1. android 对dp单位的理解
  2. android之AsyncQueryHandler详解
  3. Android(安卓)仿直播特效点赞飘爱心
  4. Activity之launchMode(运行模式)
  5. Android7.0启动SystemServer进程
  6. 在Android中使用logback-android日志框架
  7. Android布局管理器-使用TableLayout表格
  8. 在Android中afinal框架下实现sqlite数据
  9. Android中获取资源的id和url方法总结
  10. ubuntu 下基于源码的android平台搭建与内