最近做了一个小项目,现在需要在android下添加插屏广告,我在网上搜了一下,找到了添加了方法。
这里还要说下,在android下如果想在聚合里使用插屏广告基本是不可能的,因为添加插屏广告时有的是在sdk里全都写好了,只需要你调用代码,有的是需要你修改显示广告的视图或者context,所以直接使用聚合是没办法完全正确处理的,ios当然例外……下面说下如何在应用里添加安沃的插屏广告:
1. 加sdk,这个估计都会,其实直接把包copy进libs目录就行
2. 在cocos2d-x的activity里添加代码:
这里首先得添加广告监听接口:
[java] view plaincopy
public class appActivity extends Cocos2dxActivity implements FullScreenAdListener{
}
然后声明需要用到的广告视图:
[java] view plaincopy
private static AdDisplayer displayer;
接着在onCreate里初始化并添加广告的类型设置,以及广告请求:
[java] view plaincopy
// 请在manifest里面设置当前activity属性 android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
// // 全屏广告实例
displayer = AdDisplayer.getInstance(appActivity.this);
// 初始化全屏广告参数
displayer.initParems("5201f33630c542a0b851cb9325d744e2",true, appActivity.this);
// 设置全屏格式
/*
* 可选参数有:AdDisplayer.ADWO_FS_INTERCEPT 插屏全屏
* AdDisplayer.ADWO_FS_ENTRY
* AdDisplayer.ADWO_FS_TRANSPOSITION
*/
// displayer.setDesireAdForm(AdDisplayer.ADWO_FS_INTERCEPT);
displayer.setDesireAdForm(AdDisplayer.ADWO_FS_INTERCEPT);
// 设置请求广告类型 可选。
displayer.setDesireAdType(AdDisplayer.ADWO_FS_TYPE_ALL);
// 开始请求全屏广告
displayer.requestFullScreenAd();
上面第一条注释也已经说明了,必须在要展示广告的activity里加上
[java] view plaincopy
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
否则是没法将广告按照全屏进行展示的,至于广告的类型就自己参考说明进行设置好了,注意在正式发布时可别在初始化时的第二个参数使用true,那是测试广告模式。
接着是一些回调方法:
[java] view plaincopy
@Override
protected void onStart() {
super.onStart();
}
@Override
public void onReceiveAd() {
Log.e(LOG_TAG, "onReceiveAd");
// 接收到全屏广告。加载全屏广告并展示
displayer.preLoadFullScreenAd();
}
@Override
public void onLoadAdComplete() {
Log.e(LOG_TAG, "onLoadAdComplete");
// 成功完成下载后,展示广告
//layout = (RelativeLayout) findViewById(R.id.layout);
}
@Override
public void onFailedToReceiveAd(ErrorCode errorCode) {
Log.e(LOG_TAG, "onFailedToReceiveAd");
if (errorCode.getErrorCode() == 36) {
// 下载广告资源失败,此次广告无法显示
Log.e(LOG_TAG, "onFailedToReceiveAd downloading resources failed.");
}
}
@Override
public void onAdDismiss() {
//TODO 广告关闭回调接口
Log.e(LOG_TAG, "onAdDismiss");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e(LOG_TAG, "onDestroy");
// 请在这里释放全屏广告资源
if (displayer != null) {
displayer.dismissDisplayer();
displayer = null;
}
[java] view plaincopy
public static void showMyAD(){
displayer.displayFullScreenAd(mGLSurfaceView);
[java] view plaincopy
protected static Cocos2dxGLSurfaceView mGLSurfaceView;
最后在mainfest.xml里加上显示点击广告的activity,并且设置好权限即可完成插屏广告的添加,最后祝愿开发者们多赚money。
这里还要说下,在android下如果想在聚合里使用插屏广告基本是不可能的,因为添加插屏广告时有的是在sdk里全都写好了,只需要你调用代码,有的是需要你修改显示广告的视图或者context,所以直接使用聚合是没办法完全正确处理的,ios当然例外……下面说下如何在应用里添加安沃的插屏广告:
1. 加sdk,这个估计都会,其实直接把包copy进libs目录就行
2. 在cocos2d-x的activity里添加代码:
这里首先得添加广告监听接口:
[java] view plaincopy
public class appActivity extends Cocos2dxActivity implements FullScreenAdListener{
}
然后声明需要用到的广告视图:
[java] view plaincopy
private static AdDisplayer displayer;
接着在onCreate里初始化并添加广告的类型设置,以及广告请求:
[java] view plaincopy
// 请在manifest里面设置当前activity属性 android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
// // 全屏广告实例
displayer = AdDisplayer.getInstance(appActivity.this);
// 初始化全屏广告参数
displayer.initParems("5201f33630c542a0b851cb9325d744e2",true, appActivity.this);
// 设置全屏格式
/*
* 可选参数有:AdDisplayer.ADWO_FS_INTERCEPT 插屏全屏
* AdDisplayer.ADWO_FS_ENTRY
* AdDisplayer.ADWO_FS_TRANSPOSITION
*/
// displayer.setDesireAdForm(AdDisplayer.ADWO_FS_INTERCEPT);
displayer.setDesireAdForm(AdDisplayer.ADWO_FS_INTERCEPT);
// 设置请求广告类型 可选。
displayer.setDesireAdType(AdDisplayer.ADWO_FS_TYPE_ALL);
// 开始请求全屏广告
displayer.requestFullScreenAd();
上面第一条注释也已经说明了,必须在要展示广告的activity里加上
[java] view plaincopy
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
否则是没法将广告按照全屏进行展示的,至于广告的类型就自己参考说明进行设置好了,注意在正式发布时可别在初始化时的第二个参数使用true,那是测试广告模式。
接着是一些回调方法:
[java] view plaincopy
@Override
protected void onStart() {
super.onStart();
}
@Override
public void onReceiveAd() {
Log.e(LOG_TAG, "onReceiveAd");
// 接收到全屏广告。加载全屏广告并展示
displayer.preLoadFullScreenAd();
}
@Override
public void onLoadAdComplete() {
Log.e(LOG_TAG, "onLoadAdComplete");
// 成功完成下载后,展示广告
//layout = (RelativeLayout) findViewById(R.id.layout);
}
@Override
public void onFailedToReceiveAd(ErrorCode errorCode) {
Log.e(LOG_TAG, "onFailedToReceiveAd");
if (errorCode.getErrorCode() == 36) {
// 下载广告资源失败,此次广告无法显示
Log.e(LOG_TAG, "onFailedToReceiveAd downloading resources failed.");
}
}
@Override
public void onAdDismiss() {
//TODO 广告关闭回调接口
Log.e(LOG_TAG, "onAdDismiss");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e(LOG_TAG, "onDestroy");
// 请在这里释放全屏广告资源
if (displayer != null) {
displayer.dismissDisplayer();
displayer = null;
}
}
最后是用jin来调用显示广告的代码,这样会比较灵活:[java] view plaincopy
public static void showMyAD(){
displayer.displayFullScreenAd(mGLSurfaceView);
}
上面 我把广告显示到了cocos2d-x的视图里,所以得在com.cocos2dx.lib里的cocos2dxActivity.java里修改下声明:[java] view plaincopy
protected static Cocos2dxGLSurfaceView mGLSurfaceView;
最后在mainfest.xml里加上显示点击广告的activity,并且设置好权限即可完成插屏广告的添加,最后祝愿开发者们多赚money。