您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x加载广告(Admob广告和芒果平台) android平台

2014-04-08 17:10 633 查看
一: 加载Admob广告

我参考文章:http://blog.csdn.net/dragoncheng/article/details/6927400#comments

1):申请AdMob账号(我发现我竟然登不上去,果断翻墙),创建应用,然后得到应用的id。

2):下载AdMob网址提供的sdk,然后把lib包复制黏贴到项目的libs文件夹下

3):修改AndroidManifest.xml,在application目录下加入以下代码:(其中meta-data android:value="a1533e6db2ec505"的值就是你的应用id)

...
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

<meta-data android:value="a1533e6db2ec505" android:name="ADMOB_PUBLISHER_ID" />
</application>
还有添加权限:

...
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
其中<activity android:name="com.google.ads.AdActivity"

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>的sdk版本>=13,所以点击项目属性,修改android版本(我选择的是Android4.2.2,sdk17),值得注意的是,要<uses-sdk android:minSdkVersion="8"/>中的数值8改成你的android版本的sdk值,(没改,我运行不成功,囧中。。。。)。

4):在res下的value文件夹创建attrs.xml,内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="com.admob.android.ads.AdView">
<attr name="testing" format="boolean" />
<attr name="backgroundColor" format="color" />
<attr name="textColor" format="color" />
<attr name="keywords" format="string" />
<attr name="refreshInterval" format="integer" />
<attr name="isGoneWithoutAd" format="boolean" />
</declare-styleable>
</resources>
5):添加广告:(记得修改id值)

protected void onCreate(Bundle savedInstanceState){
.......
setupAds();
}

private void setupAds()
{
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
addContentView(layout, new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
AdView adView = new AdView(this, AdSize.BANNER, "a1533e6db2ec505");
layout.addView(adView);
adView.loadAd(new AdRequest());
}
效果图:

二: 芒果平台(我也是使用Admob广告测试)

参考文章: http://novacreo.com/%E7%A7%BB%E5%8A%A8%E7%AB%AF%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E4%BA%A4%E6%B5%81/%E5%88%A9%E7%94%A8jni%E5%8F%8Ahandler%E4%BB%A3%E7%90%86%E5%9C%A8cocos2d-x%E6%B8%B8%E6%88%8F%E6%8C%87%E5%AE%9A%E9%A1%B5%E9%9D%A2%E6%B7%BB%E5%8A%A0admob%E5%B9%BF%E5%91%8A/

1):也是先创建用户,然后新建App,得到应用id

2):然后下载芒果平台的sdk,得到jar文件和libs包,将AdsMOGO_Android_SDK_1.4.5.jar和libs下的GoogleAdMobAdsSdk-6.4.1.jar包复制黏贴到项目的libs文件夹,其中GoogleAdMobAdsSdk-6.4.1.jar为你所需的广告,我用的是Admob广告。

3):修改AndroidManifest.xml,在application目录下加入以下代码:

...
<!-- 声明Mogo的Activity -->
<activity
android:name="com.adsmogo.adview.AdsMogoWebView"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name" />
<!-- 注册Service,应用下载所需 -->
<service
android:name="com.adsmogo.controller.service.UpdateService"
android:exported="true"
android:process=":remote" />
<!-- 注册Service,应用被安装所用 -->
<service
android:name="com.adsmogo.controller.service.CountService"
android:exported="true"
android:process=":remote" />

<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
还有权限:

...
<!-- 连接网络权限INTERNET ,用于请求广告(必须),mogo会使用该权限 -->
<uses-permission android:name="android.permission.INTERNET" />

<!-- 读取手机基本信息权限READ_PHONE_STATE,用于精确统计用户的机型等信息(必须),mogo会使用该权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<!-- 读取网络信息权限ACCESS_NETWORK_STATE,用于识别gprs网络的接入点的情况(必须),mogo会使用该权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
跟上面一样,修改Android版本,和<uses-sdk android:minSdkVersion="你的sdk版本值"/>

4):显示广告代码

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
createAds();
}

private void createAds() {
/** 代码方式添加广告,如果您使用XML配置方式添加广告,不需要以下代码 **/
AdsMogoLayout adsMogoLayoutCode;
// 构造方法,设置快速模式
adsMogoLayoutCode = new AdsMogoLayout(this,"1ecfc0f787664289973fe7b79c9a58d2");

RelativeLayout parentLayput = new RelativeLayout(this);
RelativeLayout.LayoutParams parentLayputParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,
RelativeLayout.TRUE);
parentLayput.addView(adsMogoLayoutCode, layoutParams);

this.addContentView(parentLayput, parentLayputParams);
/*********************** 代码添加广告结束 ************************/
}


5):效果图:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: