对于很多个人或者小组android程序开发人员来说,他们更愿意选择Free来让他们的产品更加吸引人。而与此同时赚钱的需求,让们寻找第三方广告商的介入,AdMob就是最近蹿红的,手持移动设备广告中介商。
这篇文章就是阐述,如何在你的Project中加入广告源代码,使AdMob广告能在你的产品中显示出来。
1st Step: 注册AdMob的账号
登陆http://www.admob.com/网站,在网页右侧点击Get Started开始注册。注册分两步,第一步是输入信息,这里AdMos提供了各个国家和地区的地址输入,以后请款的时候可能会用来check,所以提醒大家还是要认真填写一下。然后就是通过收到的邮件激活账号即可。
2nd Step: 建立新的Site & Apps
当你激活账号进入系统之后,你会发现什么都没有,这时候需要添加一个Site/App,AdMob提供了多种发布的产品,我们这里选择Android App。然后网页下面需要你输入App name, Adnroid Package URL, Category, 和App description。如果你已经在google market注册并且发布了app恭喜你,只要填一下就OK了。如果你没有发布也不要着急,其他地方都可以随意的写,关于Adnroid Package URL,你把它改写成http://样式的输入,随便给一个地址就可以了,可以是你的blog。然后点击continue好,我们就建立了一个android app的广告应用了。
3rd Step: 从跳转出来的文件中下载SDK
从跳转出来的页面中,下载SDK包到电脑。解压缩之后,我们稍稍来分析一下这个包。javadoc里面是在java程序中添加AdMob的说明,有具体的命令解释和添加方法,因为,AdMob也在不断的更新,所以希望大家每次都能够仔细阅读这里的文件,特别是如何添加AdMob的指导。然后sample文件里添加的是一个应用的例子。然后admob-sdk-android是我们要build in的Jarr文件。
4th Step: 把Jar文件加入Project中
在开始之前,我们需要现在project目录的下project\下建立libs目录,把刚刚的admob-sdk-android的Jar拷贝到里面。在Eclipse中点F5刷新,可以看到libs了
1.在Eclipse中打开project,在package explorer中对着project点击右键,选择properties。
2.在弹出的页面中选择Java Build Path,然后原则libraries文件夹,点击右侧Add Jars
3.选中project,然后选中libs里的admob-sdk-android,点击OK,这样Jar文件就被注册到project中来了,我们在后面就可以对它进行引用。
5th Step: 放入你的ID信息到project的AndroidManifest.xml中
到这里你要问我什么是ID信息。在你注册admob之后生成新的site/app都会有生成一个15位的ID码,这个就是对你身份的识别。有两个途径可以看到,一个是在下载的文件javadoc\index文件中就有,另外你也可以在网站中sites&app->点击House Ads中点击Edit,然后你可以看到一个Publisher ID,这个就是。
我们要在AndroidManifest.xml中添加注册ID,打开AndroidManifest.xml,在</application>之前输入如下代码
<!-- The application's publisher ID assigned by AdMob -->
<meta-data android:value="YOUR_ID_HERE" android:name="ADMOB_PUBLISHER_ID" />
<!-- Track Market installs -->
<receiver android:name="com.admob.android.ads.analytics.InstallReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
</application>
注意这里的YOUR_ID_HERE就是要输入你的15位ID,这里部分是申明我们的ID号,告诉别人你是谁
6th Step: 在AndroidManifest.xml中注册广告许可
在AndroidManifest.xml文件的末尾</manifest>之前输入
<!-- AdMob SDK requires Internet permission -->
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
这里的作用是让activity强制上网,获取广告信息。
然后我们还需要对本地广告许可进行注册,这个是写在</application>之前
<meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" />
</application> 7th Step:建立attrs source 为了能让ads能被引用,我们需要建立/res/values/attrs.xml,在attrs.xml文件中写入如下代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="com.admob.android.ads.AdView">
<attr name="backgroundColor" format="color" />
<attr name="primaryTextColor" format="color" />
<attr name="secondaryTextColor" format="color" />
<attr name="keywords" format="string" />
<attr name="refreshInterval" format="integer" />
</declare-styleable>
</resources> 8th Step: 在Layout文件中引用attrs resources
需要在layout中引用AdMob我们还需要在AndroidManifest.xml文件的manifest title中加入申明信息
<manifest xmlns:android=http://schemas.android.com/apk/res/android
加入xmlns:app=http://schemas.android.com/apk/res/com.example.admob.lunarlander
这里com.example.admob.lunarlander是project的包名,你需要把这个换成你自己的。
我这里贴出我自己的小例子的layout文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.blogspot.leewind841209.ShowMeTheAdMob"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:layout_marginBottom="20dip"
android:gravity="center_horizontal"
android:textSize="20sp"
android:text="@string/title_ShowMeTheAdMob"
/>
<com.admob.android.ads.AdView
android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:backgroundColor="#000000"
app:primaryTextColor="#FFFFFF"
app:secondaryTextColor="#CCCCCC"
app:keywords="Android Game"
/>
</LinearLayout>
这是最基础的应用,当你逐渐用熟悉之后,还有很多应用的方法可以获得,比如浮动的窗口,比如游戏暂停时显示广告,这些都需要你去开发。到这里,我把这个例子走完了,我把我的code贴在这里,大家可以用一下看看。
好,最后我要说,很多人为什么都看不到广告出来呢,不要着急是这样的。你每次打开,广告都会发信号回去问服务器是不是给出广告信息,然后有些是被接受,有些被踢掉了,所以不是一直都会有广告出现,这个也跟你的产品红不红火有关。你可以运行行一下试试看,我建议你用手机试一试,模拟器大概需要10-15分钟会出现,手机会快很多。
我的源码下载:http://www.box.net/shared/ejybljkkn1
这篇文章就是阐述,如何在你的Project中加入广告源代码,使AdMob广告能在你的产品中显示出来。
1st Step: 注册AdMob的账号
登陆http://www.admob.com/网站,在网页右侧点击Get Started开始注册。注册分两步,第一步是输入信息,这里AdMos提供了各个国家和地区的地址输入,以后请款的时候可能会用来check,所以提醒大家还是要认真填写一下。然后就是通过收到的邮件激活账号即可。
2nd Step: 建立新的Site & Apps
当你激活账号进入系统之后,你会发现什么都没有,这时候需要添加一个Site/App,AdMob提供了多种发布的产品,我们这里选择Android App。然后网页下面需要你输入App name, Adnroid Package URL, Category, 和App description。如果你已经在google market注册并且发布了app恭喜你,只要填一下就OK了。如果你没有发布也不要着急,其他地方都可以随意的写,关于Adnroid Package URL,你把它改写成http://样式的输入,随便给一个地址就可以了,可以是你的blog。然后点击continue好,我们就建立了一个android app的广告应用了。
3rd Step: 从跳转出来的文件中下载SDK
从跳转出来的页面中,下载SDK包到电脑。解压缩之后,我们稍稍来分析一下这个包。javadoc里面是在java程序中添加AdMob的说明,有具体的命令解释和添加方法,因为,AdMob也在不断的更新,所以希望大家每次都能够仔细阅读这里的文件,特别是如何添加AdMob的指导。然后sample文件里添加的是一个应用的例子。然后admob-sdk-android是我们要build in的Jarr文件。
4th Step: 把Jar文件加入Project中
在开始之前,我们需要现在project目录的下project\下建立libs目录,把刚刚的admob-sdk-android的Jar拷贝到里面。在Eclipse中点F5刷新,可以看到libs了
1.在Eclipse中打开project,在package explorer中对着project点击右键,选择properties。
2.在弹出的页面中选择Java Build Path,然后原则libraries文件夹,点击右侧Add Jars
3.选中project,然后选中libs里的admob-sdk-android,点击OK,这样Jar文件就被注册到project中来了,我们在后面就可以对它进行引用。
5th Step: 放入你的ID信息到project的AndroidManifest.xml中
到这里你要问我什么是ID信息。在你注册admob之后生成新的site/app都会有生成一个15位的ID码,这个就是对你身份的识别。有两个途径可以看到,一个是在下载的文件javadoc\index文件中就有,另外你也可以在网站中sites&app->点击House Ads中点击Edit,然后你可以看到一个Publisher ID,这个就是。
我们要在AndroidManifest.xml中添加注册ID,打开AndroidManifest.xml,在</application>之前输入如下代码
<!-- The application's publisher ID assigned by AdMob -->
<meta-data android:value="YOUR_ID_HERE" android:name="ADMOB_PUBLISHER_ID" />
<!-- Track Market installs -->
<receiver android:name="com.admob.android.ads.analytics.InstallReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
</application>
注意这里的YOUR_ID_HERE就是要输入你的15位ID,这里部分是申明我们的ID号,告诉别人你是谁
6th Step: 在AndroidManifest.xml中注册广告许可
在AndroidManifest.xml文件的末尾</manifest>之前输入
<!-- AdMob SDK requires Internet permission -->
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
这里的作用是让activity强制上网,获取广告信息。
然后我们还需要对本地广告许可进行注册,这个是写在</application>之前
<meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" />
</application> 7th Step:建立attrs source 为了能让ads能被引用,我们需要建立/res/values/attrs.xml,在attrs.xml文件中写入如下代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="com.admob.android.ads.AdView">
<attr name="backgroundColor" format="color" />
<attr name="primaryTextColor" format="color" />
<attr name="secondaryTextColor" format="color" />
<attr name="keywords" format="string" />
<attr name="refreshInterval" format="integer" />
</declare-styleable>
</resources> 8th Step: 在Layout文件中引用attrs resources
需要在layout中引用AdMob我们还需要在AndroidManifest.xml文件的manifest title中加入申明信息
<manifest xmlns:android=http://schemas.android.com/apk/res/android
加入xmlns:app=http://schemas.android.com/apk/res/com.example.admob.lunarlander
这里com.example.admob.lunarlander是project的包名,你需要把这个换成你自己的。
我这里贴出我自己的小例子的layout文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.blogspot.leewind841209.ShowMeTheAdMob"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:layout_marginBottom="20dip"
android:gravity="center_horizontal"
android:textSize="20sp"
android:text="@string/title_ShowMeTheAdMob"
/>
<com.admob.android.ads.AdView
android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:backgroundColor="#000000"
app:primaryTextColor="#FFFFFF"
app:secondaryTextColor="#CCCCCC"
app:keywords="Android Game"
/>
</LinearLayout>
这是最基础的应用,当你逐渐用熟悉之后,还有很多应用的方法可以获得,比如浮动的窗口,比如游戏暂停时显示广告,这些都需要你去开发。到这里,我把这个例子走完了,我把我的code贴在这里,大家可以用一下看看。
好,最后我要说,很多人为什么都看不到广告出来呢,不要着急是这样的。你每次打开,广告都会发信号回去问服务器是不是给出广告信息,然后有些是被接受,有些被踢掉了,所以不是一直都会有广告出现,这个也跟你的产品红不红火有关。你可以运行行一下试试看,我建议你用手机试一试,模拟器大概需要10-15分钟会出现,手机会快很多。
我的源码下载:http://www.box.net/shared/ejybljkkn1