有段时间没有写博客了,接了一个android的外包,直到前段时间才收尾,不过弄的够呛的,主要是前期的一些流程没有商量好,加上时间又比较紧张,所以当时就匆匆忙忙的弄了起来,至于后期收款的事情一拖再拖,而且这还是前期的一个demo

接下来介绍的是给我们自己的app添加广告,这边选择的广告平台是腾讯旗下的Adview平台,地址是:http://www.adview.cn/ 里面提供了相应的sdk和开发文档,里面都有详细的说明,而且提供了三种不同的方式来添加广告,可以从这边http://www.adview.cn/sdk下载文档和sdk,当然这些都是你添加广告的前奏。

下面我们来看看是怎样添加广告吧,下载后的压缩包是这样的:


需要注意的是下载下来的sample里面的demo在我自己的机器上跑不起来,后来自己写了一个其实也挺简单的。Adview提供了三种不同的方式添加广告,分别是布局方式,代码方式,xml布局方式自己可以根据自身的需要选择不同的方式添加广告,我建立一个AdViewActivity,里面相应的布局分别放三个按钮

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >        <Button android:id="@+id/ad_layout"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="布局方式"/>        <Button android:id="@+id/ad_code"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="代码方式"/>        <Button android:id="@+id/ad_xml"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="xml布局方式"/></LinearLayout>//AdViewActivity private Context mContext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.adview_layout);mContext = this;findViewById(R.id.ad_layout).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent(mContext, LayoutActivity.class);startActivity(i);}});findViewById(R.id.ad_code).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent(mContext, CodeActivity.class);startActivity(i);}});findViewById(R.id.ad_xml).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent(mContext, XMLAdViewActivity.class);startActivity(i);}});}

LayoutActivity的代码如下:

/*** * @author  huangsm * @date 2012-7-9 * @email  huangsanm@gmail.com * @desc 布局方式添加 */public class LayoutActivity extends Activity implements AdViewInterface{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.layout);//在调试的时候可以放开,//AdViewTargeting.setRunMode(RunMode.TEST);//AdViewTargeting.setUpdateMode(UpdateMode.EVERYTIME);LinearLayout layout = (LinearLayout) findViewById(R.id.adLayout);AdViewLayout adViewLayout = new AdViewLayout(this, "SDK201207150706098ng5d8fpuvjg0gi");adViewLayout.setAdViewInterface(this);layout.addView(adViewLayout);layout.invalidate();}@Overridepublic void onClickAd() {}@Overridepublic void onDisplayAd() {}}//布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:id="@+id/layout_main">        <LinearLayout android:id="@+id/adLayout"        android:layout_width="match_parent"        android:layout_height="wrap_content" />    </LinearLayout>

通过代码的方式添加广告的方式显得相当灵活,CodeActivity的代码如下:

/*** * @author  huangsm * @date 2012-7-9 * @email  huangsanm@gmail.com * @desc 纯代码方式 */public class CodeActivity extends Activity implements AdViewInterface{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); /*下面两行只用于测试,完成后一定要去掉,参考文挡说明*/        //AdViewTargeting.setUpdateMode(UpdateMode.EVERYTIME);  //每次都从服务器取配置        //AdViewTargeting.setRunMode(RunMode.TEST);        //保证所有选中的广告公司都为测试状态    AdViewLayout adViewLayout = new AdViewLayout(this, "SDK201207150706098ng5d8fpuvjg0gi");    adViewLayout.setAdViewInterface(this);    FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT,     FrameLayout.LayoutParams.WRAP_CONTENT);    params.gravity=Gravity.BOTTOM;     setContentView(adViewLayout, params);}@Overridepublic void onClickAd() {// TODO Auto-generated method stub}@Overridepublic void onDisplayAd() {// TODO Auto-generated method stub}}

通过XMLAdViewActivity方式添加:

/*** * @author  huangsm * @date 2012-7-9 * @email  huangsanm@gmail.com * @desc  */public class XMLAdViewActivity extends Activity implements AdViewInterface {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.xml_layout); /*下面两行只用于测试,完成后一定要去掉,参考文挡说明*/        //AdViewTargeting.setUpdateMode(UpdateMode.EVERYTIME);  //每次都从服务器取配置       // AdViewTargeting.setRunMode(RunMode.TEST);        //保证所有选中的广告公司都为测试状态        /*下面这句方便开发者进行发布渠道统计,详细调用可以参考java doc  */        //AdViewTargeting.setChannel(Channel.GOOGLEMARKET);        AdViewLayout adViewLayout = (AdViewLayout)findViewById(R.id.adview_layout);        adViewLayout.setAdViewInterface(this);}@Overridepublic void onClickAd() {// TODO Auto-generated method stub}@Overridepublic void onDisplayAd() {// TODO Auto-generated method stub}}//布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >        <com.adview.AdViewLayout         android:id="@+id/adview_layout"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"/></LinearLayout>

这样你的应用里面就可以显示广告了,而且广告显示的位置可以自行调整通过gravity布局参数设置广告的位置,

说明:

1:SDK201207150706098ng5d8fpuvjg0gi这个是你注册过后的key

2:需要添加AdViewSDK_Android.jar,这个包是必须要的,例外还可根据自行选择的广告商添加不同的jar,里面的开发“AdView应用互推使用指南”都有相关的说明,

3:需要在androidmanifest.xml文件中声明权限

<uses-permission android:name="android.permission.INTERNET"/>    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

代码已经分享到: http://www.oschina.net/code/snippet_127095_11879

再和大家分享一篇关于分析不同广告平台的文章:http://blog.jobbole.com/23008/

更多相关文章

  1. Android实现View滑动的6种方式
  2. android studio2.3以后给apk签名打包后安装失败的问题[INSTALL_P
  3. android 添加外接键盘操作事件流程
  4. android在java代码中动态添加组件及相关布局方法(LayoutParams)
  5. Android(安卓)Framework 如何学习,如何从应用深入到Framework?
  6. [Android]继承式UI界面布局设计
  7. Android(安卓)ndk探索之一(利用Android(安卓)Studio和ndk编译c)
  8. Framework StatusBar添加(wifi,bluetooth,gps,sound,rotate)控制面
  9. Android中广告渠道SDK接入方法

随机推荐

  1. [Android] [ANR的原理、分析、实战] 【转
  2. Android(安卓)Jetpack之Navigation
  3. Android之网络请求1————HTTP协议
  4. 通信之进程间通信-AIDL
  5. android aidl 使用实例
  6. [置顶] Android拼图游戏开发全纪录1
  7. Android常用权限permission列表摘录
  8. Win8/Android双系统 华硕Win8平板曝光
  9. 破了个新纪录
  10. Android Broadcast receiver使用入门