010-06-02AdMob:在android应用中嵌入广告的方案 - [手机开发]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://cjbskysea.blogbus.com/logs/64953528.html
AdMob 是一个比较成熟的移动平台广告商,其为android和iphone提供了非常方便的集成 JAR包,使得开发者可以在自己的应用中很方便的嵌入其提供的广告,进而按照广告展示和点击次数付广告费。
例子:如何在自己的应用中集成AdMob的广告功能
去http://www.admob.com/注册一个帐号,然后添加一个“Add Mobile Site”,输入相关信息后,提交完成,进入AD代码获取界面,其提供了PHP,Rails等等类型的代码,同时提供了Android平台使用的JAR,这里就演示这个。
1、下载JAR包
其为android平台提供了JAR包,然后将JAR添加到你的项目组,按照如下步骤
- Go to the Properties of your project (right-click on your project from the Package Explorer tab and select Properties)
- Select "Java Build Path" from left panel
- Select "Libraries" tab from the main window
- Click on "Add JARs..."
- Select the JAR copied to the libs directory
- Click "OK" to add the SDK to your android project
2、编辑AndroidManifest.xml
Your AdMob publisher ID was given to you when creating your publisher account on www.admob.com before downloading this code. It is a 15-character code like a14a48e3387c5ce. Just before the closing </application> tag add a line to set your publisher ID:
<!-- The application's publisher ID assigned by AdMob -->
<meta-data android:value="YOUR_ID_HERE" android:name="ADMOB_PUBLISHER_ID" />
</application>
Set any permissions not already included just before the closing </manifest> tag:
<!-- AdMob SDK permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
Only the INTERNET permission is required. Setting READ_PHONE_STATE is highly recommended because it identifies the user letting a greater variety of more relevant ads be chosen. Finally setting ACCESS_COARSE_LOCATION (and/or ACCESS_FINE_LOCATION) will let geo-targeted ads be shown.
3、添加attrs.xml
The attrs.xml file specifies custom AdView attributes in XML layout files. If your application does not already have an/res/values/attrs.xml file then create one and copy-and-paste the following into it. If you do have that file then just add the declare-styleable element:
<?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>
4、Placing an AdView in a Layout
AdView widgets can be put into any XML layout now. The first step is to reference attrs.xml in your layout element by adding an xmlns line that includes your package name specified in AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:admobsdk="http://schemas.android.com/apk/res/com.eoeandroid.demo.Adadmob"
androidrientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="24px"
android:paddingBottom="10px"
android:layout_gravity="center"
android:text="eoeAndroid - 最棒的Android开发社区 " />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18px"
android:paddingBottom="10px"
android:layout_gravity="center"
android:text="eoeAndroid.com立足于Android开发者,营造一个乐于分享、共同进步的开发者社区." />
<com.admob.android.ads.AdView android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
admobsdk:backgroundColor="#000000"
admobsdk:textColor="#FFFFFF"
admobsdk:keywords="Android application"
admobsdk:refreshInterval="60"
/>
</LinearLayout