对于很多个人或者小组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分钟会出现,手机会快很多。
