Android Studio工程中添加Admob广告条代码详解

来源:互联网 发布:js date 时间戳 编辑:程序博客网 时间:2024/06/08 00:38

http://blog.csdn.net/mapboo/article/details/49536297


前言:

纵观国内的广告平台,比如多盟,万普,百度,腾讯,或者别的一些广告平台,真是应接不暇,但是具体接入那就自己判断了,经过一番折腾,最终还是选择了谷歌平台,理应是稳定,可靠,安全,收入颇高,但是登录网络有点问题,应该大家都懂吧,这里就不再赘述了,各自想办法吧;


准备工作:

1,首先你是Android开发者,或者至少会点Java编程基础;

2,熟悉使用Android Studio(以下简称:AS),即官方Android应用开发工具;

3,注册了http://www.google.cn/admob/ 应用,并且有个banner_ad_unit_id吧;

4,待加入横幅广告条的app;

5,可参考官方接入指南:https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start


开发过程:

1,创建或打开AS 工程,本示例是新建工程;

2,打开Android SDK Manager安装Google Repository;

3,关联我们的广告SDK,这里有两种方式:

A  点击Project Structure 直接选取,如下图:

com.google.android.gms:play-services:7.8.0;

B 打开build-gradle 加入一行代码,如下图:

compile 'com.google.android.gms:play-services:6.+'

4,程序会开始自动编译,然后打开AndroidManifest.xml 文件,添加如下代码:

[java] view plain copy
 print?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.mapboo.adviewdemo" >  
  4.   
  5.    <span style="color:#ff0000;"> <uses-permission android:name="android.permission.INTERNET" />  
  6.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></span>  
  7.   
  8.     <application  
  9.         android:allowBackup="true"  
  10.         android:icon="@mipmap/ic_launcher"  
  11.         android:label="@string/app_name"  
  12.         android:theme="@style/AppTheme" >  
  13.   
  14.        <span style="color:#ff0000;"> <meta-data android:name="com.google.android.gms.version"  
  15.             android:value="@integer/google_play_services_version" /></span>  
  16.   
  17.         <activity  
  18.             android:name=".MainActivity"  
  19.             android:label="@string/app_name" >  
  20.             <intent-filter>  
  21.                 <action android:name="android.intent.action.MAIN" />  
  22.   
  23.                 <category android:name="android.intent.category.LAUNCHER" />  
  24.             </intent-filter>  
  25.         </activity>  
  26.   
  27.        <span style="color:#ff0000;"> <activity  
  28.             android:name="com.google.android.gms.ads.AdActivity"  
  29.             android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"  
  30.             android:theme="@android:style/Theme.Translucent" /></span>  
  31.   
  32.     </application>  
  33.   
  34. </manifest>  

5,打开activity_main.xml 文件,输入如下代码:

[java] view plain copy
 print?
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     xmlns:ads="http://schemas.android.com/apk/res-auto"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="match_parent"  
  6.     android:paddingBottom="@dimen/activity_vertical_margin"  
  7.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  8.     android:paddingRight="@dimen/activity_horizontal_margin"  
  9.     android:paddingTop="@dimen/activity_vertical_margin"  
  10.     tools:context=".MainActivity"  
  11.     android:gravity="center_vertical">  
  12.   
  13.     <TextView  
  14.         android:layout_width="match_parent"  
  15.         android:layout_height="wrap_content"  
  16.         android:text="@string/demoName"  
  17.         android:gravity="center"  
  18.         android:textSize="30dp"  
  19.         android:layout_marginTop="150dp"  
  20.         />  
  21.   
  22.     <com.google.android.gms.ads.AdView  
  23.         android:id="@+id/adView_bottom"  
  24.         android:layout_width="match_parent"  
  25.         android:layout_height="wrap_content"  
  26.         android:layout_alignParentBottom="true"  
  27.         android:layout_centerHorizontal="true"  
  28.         android:layout_gravity="bottom"  
  29.         ads:adSize="BANNER"  
  30.         ads:adUnitId="@string/banner_ad_unit_id" />  
  31.   
  32. </RelativeLayout>  

[java] view plain copy
 print?
  1. <resources>  
  2.     <string name="app_name">AdViewDemo</string>  
  3.     <string name="demoName">谷歌Admob广告条示例</string>  
  4.     <string name="banner_ad_unit_id">ca-app-pub-8514769117499822/6386262194</string>   
  5. </resources>  


6,打开MainActivity文件,输入如下代码:

[java] view plain copy
 print?
  1. package com.mapboo.adviewdemo;  
  2.   
  3. import android.support.v7.app.ActionBarActivity;  
  4. import android.os.Bundle;  
  5. import android.util.Log;  
  6. import android.view.Menu;  
  7. import android.view.MenuItem;  
  8. import com.google.android.gms.ads.AdListener;  
  9. import com.google.android.gms.ads.AdRequest;  
  10. import com.google.android.gms.ads.AdView;  
  11.   
  12. public class MainActivity extends ActionBarActivity {  
  13.   
  14.     @Override  
  15.     protected void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.activity_main);  
  18.   
  19.         /** 
  20.          * 创建广告条对象 
  21.          */  
  22.         AdView mAdView = (AdView) findViewById(R.id.adView_bottom);  
  23.         AdRequest adRequest = new AdRequest.Builder().build();  
  24.   
  25.         /** 
  26.          * 创建一个监听,比如判断用户是不是已经点击了广告条,以此来给用户增加积分等操作; 
  27.          */  
  28.         AdListener listener = new AdListener() {  
  29.             @Override  
  30.             public void onAdClosed() {  
  31.                 super.onAdClosed();  
  32.   
  33.                 Log.i("TAG""onAdClosed");  
  34.             }  
  35.   
  36.             @Override  
  37.             public void onAdFailedToLoad(int errorCode) {  
  38.                 super.onAdFailedToLoad(errorCode);  
  39.   
  40.                 Log.i("TAG""onAdFailedToLoad");  
  41.             }  
  42.   
  43.             @Override  
  44.             public void onAdLeftApplication() {  
  45.                 super.onAdLeftApplication();  
  46.   
  47.                 Log.i("TAG""onAdLeftApplication");  
  48.             }  
  49.   
  50.             @Override  
  51.             public void onAdLoaded() {  
  52.                 super.onAdLoaded();  
  53.   
  54.                 Log.i("TAG""onAdLoaded");  
  55.             }  
  56.   
  57.             @Override  
  58.             public void onAdOpened() {  
  59.                 super.onAdOpened();  
  60.   
  61.                 Log.i("TAG""onAdOpened");  
  62.             }  
  63.         };  
  64.   
  65.         /** 
  66.          * 设置监听 
  67.          */  
  68.         mAdView.setAdListener(listener);  
  69.   
  70.         /** 
  71.          * 开始载入广告条 
  72.          */  
  73.         mAdView.loadAd(adRequest);  
  74.     }  
  75.   
  76.   
  77.     /** 
  78.      * 
  79.      官方示例:https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start 
  80.       
  81.      分享:安卓发布平台 http://blog.csdn.net/mapboo/article/details/49531043 
  82.  
  83.      应用汇:http://www.appchina.com/ 
  84.      安智市场:http://www.anzhi.com/ 
  85.      华为市场:http://appstore.huawei.com/ 
  86.      百度市场:http://app.baidu.com/pass/center 
  87.      蒲公英:http://www.pgyer.com 
  88.      N多网 :http://www.nduoa.com/developer 
  89.      豌豆荚:http://developer.wandoujia.com/ 
  90.      360:http://dev.360.cn 
  91.      QQ:http://op.open.qq.com 
  92.      FIR:http://fir.im 
  93.  
  94.      Android中国开发者 交流QQ群:361871827 欢迎加入一起讨论技术... 
  95.  
  96.      */  
  97. }  


编译运行:

运行代码,就会出现Admob广告条,只要替换自己的banner_ad_unit_id就能开始赚钱了;

效果图:



本实例源代码下载地址:http://pan.baidu.com/s/1pJ3UEcr

Android中国开发者 QQ群:361871827 欢迎一起讨论技术..