cocos2d-x在android下添加多盟插屏广告
来源:互联网 发布:社工数据库 编辑:程序博客网 时间:2024/05/01 09:21
好吧,经过仔细研究,我发现其实在cocos2d-x的应用下添加的插屏广告,当用Jin调用代码时是在子线程中对UI进行操作,所以显然是不可能控制得了广告UI的,所以上一篇说的“无法添加”就当是屁话好了……反正我确实是只菜鸟……接下来把添加过程写出来,好让后继的菜鸟们能不费力的添加这类广告,甚至以自定义的方式来展示广告……
上面说过了用JIN调用插屏时是在子线程中操作UI,主线程UI不是安全线程,所以需要使用Handle来与主线程进行通信,让其在适时的时候按我们设定的方式去调用广告UI,下面是代码:
public class GameActivity extends Cocos2dxActivity { private static InterstitialAd interstitialAd;public static final String PUBLISHER_ID = "56OJzCCIuNT9GZxMAZ";public static final String InlinePPID = "16TLmbLoAp3B1NUGss77M4ai";public static final String InterstitialPPID = "16TLmbLoAp3B1NUGs4bP4d9i";static DomobInterstitialAd mInterstitialAd; private static Handler mHandler; protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); mHandler = new Handler(); mInterstitialAd = new DomobInterstitialAd(this, PUBLISHER_ID,InterstitialPPID, DomobInterstitialAd.INTERSITIAL_SIZE_300X250);mInterstitialAd.setInterstitialAdListener(new DomobInterstitialAdListener() {@Overridepublic void onInterstitialAdReady() {Log.i("DomobSDKDemo", "onAdReady");}@Overridepublic void onLandingPageOpen() {Log.i("DomobSDKDemo", "onLandingPageOpen");}@Overridepublic void onLandingPageClose() {Log.i("DomobSDKDemo", "onLandingPageClose");}@Overridepublic void onInterstitialAdPresent() {Log.i("DomobSDKDemo", "onInterstitialAdPresent");}@Overridepublic void onInterstitialAdDismiss() {// Request new ad when the previous interstitial ad was closed.mInterstitialAd.loadInterstitialAd();Log.i("DomobSDKDemo", "onInterstitialAdDismiss");}@Overridepublic void onInterstitialAdLeaveApplication() {Log.i("DomobSDKDemo", "onInterstitialAdLeaveApplication");}@Overridepublic void onInterstitialAdClicked(DomobInterstitialAd arg0) {Log.i("DomobSDKDemo", "onInterstitialAdClicked");}@Overridepublic void onInterstitialAdFailed(cn.domob.android.ads.DomobAdManager.ErrorCode arg0) {// TODO Auto-generated method stubLog.i("DomobSDKDemo", "onInterstitialAdFailed");}});mInterstitialAd.loadInterstitialAd(); }
上面都是官方示例中的代码,下面是线程代码,:
private static Runnable showMyADi = new Runnable() { public void run() { if (mInterstitialAd.isInterstitialAdReady()){ mInterstitialAd.showInterstitialAd(GameActivity.getContext()); } else { Log.i("DomobSDKDemo", "Interstitial Ad is not ready"); mInterstitialAd.loadInterstitialAd(); } } };上面通过判断插屏广告是否加载成功进行显示或者重新请求。
最后是通过JIN来执行上面的代码:
public static void showMyAD(){mHandler.post(showMyADi); }
调用后广告显示正常,点击正常……调试代码一片绿、蓝色……我想如果加聚合也这样调用的话应该差不多了……
- cocos2d-x在android下添加多盟插屏广告
- cocos2d-x在android下添加多盟插屏广告
- cocos2d-x在android下添加插屏广告
- cocos2d-x在android下添加插屏广告
- cocos2d-x在android下添加插屏广告 (转)
- cocos2d-x在android下添加插屏广告 .
- cocos2d-x在android下添加插屏广告
- cocos2d-x 3.X 在android 中添加多盟插屏广告
- cocos2d-x 3.0 final 在android 中添加多盟插屏广告
- Cocos2d-x开发的Android应用怎么添加插屏广告
- Cocos2d-x 3.X, IOS版添加广点通插屏广告
- 在cocos2d-x中如何嵌入百度的插屏广告
- cocos2d-x 3.X 如何在android里添加广告
- cocos2d-x 植入广告(一) 百度横屏、插屏广告
- cocos2dx + android 如何添加百度插屏广告
- cocos2dx + android 如何添加百度插屏广告
- cocos2dx + android 如何添加百度插屏广告
- cocos2d-x 3.0 final 如何在android里添加广告
- 直接拿来用!最火的Android开源项目(一)
- c/c++ api mysql_query()返回值
- 职业设计生涯:打造世界上最小巧最强大手电
- 头文件在编译过程中的作用
- 二叉排序树的简单实现
- cocos2d-x在android下添加多盟插屏广告
- PMt表分析
- Leap Motion架构
- 木兰围场
- HDU 1856 并查集
- C语言新体会
- 2013 多校第七场 hdu 4667 Building Fence(计算几何、凸包)
- MongoDB 应用点滴
- c++面向对象编程的一个例子(书店)