位置: 编程技术 - 正文
推荐整理分享cocos2dx + android 如何添加百度插屏广告,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
这几天,楼主和我的几个小伙伴完成了一个自己的Android游戏,使用cocos2d-x-.2.1.5 编写的,现在基本上都完工了,但是当进行到发布应用这一步时,本来打算在游戏中添加道具收费的,但是遇到了一些问题,所以只能在里面添加插屏广告了,我们这款游戏添加的是百度移动联盟的,好了,废话少说,现在开始正式的:
首先大家都知道是配置问题,这一块我就不多说了,大家可以到 view plaincopypublic class ShowAdHelper { private static Handler mHandler; public static void init(Handler handler) { ShowAdHelper.mHandler = handler; } private static void showMyAd() { Message msg = mHandler.obtainMessage(); msg.what = myGame.SHOW_AD; msg.sendToTarget(); } } 同时,我们会在这个包下面发现一个文件,这个文件是自动创建的,比如我的myGame.java,这个名称是和你在创建游戏时的命名有关的。在这个文件下面,要做如下修改:
首先,声明一个变量和一个常量:
同时,我们在onCreate函数中调用一次:
[java] view plaincopyprotected void onCreate(Bundle savedInstanceState){ ... interAd = getAd(); ... } 创建一个Hendler[java] view plaincopyprivate Handler aHandler = new Handler() { @Override public void handleMessage(Message msg) { switch(msg.what) { case SHOW_AD: //if(isFirst) //{ if(interAd.isAdReady()){ interAd.showAd(Cocos2dxActivity.this); Log.d("LC","show"); }else{ interAd.loadAd(); } Log.d("LC","not show"); break; } } };然后调用ShowAdHelper类中的init函数初始化。
[java] view plaincopyprotected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //mHandler = new MainHandler(); ShowAdHelper.init(mHandler); } 到这里就已经差不多了,我们只需要在C层中通过jni调用ShowAdHelper类中的showMyAd函数就行了。当然也附上代码:
[cpp] view plaincopyvoid PublicMethod::loadAndroidAd() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) //判断当前是否为Android平台 JniMethodInfo minfo; jobject jobj; bool b = JniHelper::getStaticMethodInfo(minfo, "org/cocos2dx/lib/AdHelper", "showMyAd", "()V"); jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID); #endif } 到此就完成了,你可以在想要出广告的地方调用loadAndroidAd函数就行了。至此,小伙伴们就可以想在哪里展示广告就在哪里展示就行了。
标签: cocos2dx + android 如何添加百度插屏广告
本文链接地址:https://www.jiuchutong.com/biancheng/368857.html 转载请保留说明!上一篇:Cocos2dx-3.x 学习笔记一:屏幕分辨率及适配问题(cocos2dx 3.17)
下一篇:[置顶] Cocos2d-x《雷电大战》(6) 智能敌机AI来袭--飞行路径算法设计与实现(上)([置顶] 此外,车牌号:458143(懂得都懂[吃瓜]))
友情链接: 武汉网站建设