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