Overview
Google AdMob Ads banners use a small portion of the screen to entice users to "click through" to a richer, full-screen experience such as a website or app store page.To display banners in your Android app, simply incorporate the SDK into your Eclipse project and add a
com.google.ads.AdView
to your UI.Requirements
-
Make sure you have the
latest copy of the Android SDK
and that you're compiling against at least Android v3.2
(set
target
indefault.properties
toandroid-13
). -
The Google AdMob Ads SDK for Android requires a run-time of Android 1.5
or later (set
android:minSdkVersion
to at least3
in yourAndroidManifest.xml
). This means you can develop with the latest version of the Android SDK and your app will still run on an earlier Android version (1.5 minimum).
Incorporating the SDK
Incorporating Google AdMob Ads into your app is a three step process:- Add the SDK JAR to your Eclipse project.
- Declare
com.google.ads.AdActivity
inAndroidManifest.xml
. - Set up required network permissions in the manifest.
Adding the SDK JAR
The decompressed SDK consists of a JAR, a javadoc folder and a README.
1. Right click on your app project in Eclipse and choose Properties.
2. Select Java Build Path and the Libraries tab. Then click Add External JARs... to add the Google AdMob Ads JAR.
com.google.ads.AdActivity
The AdMob Ads SDK requires thatcom.google.ads.AdActivity
be declared in your app's AndroidManifest.xml
:<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon"
android:label="@string/app_name" android:debuggable="true"> <activity android:label="@string/app_name"
android:name="BannerExample"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|
orientation|screenLayout|uiMode|screenSize|
smallestScreenSize"/> </application> </manifest>
Permissions
Making ad requests requires the networking permissionsINTERNET
and ACCESS_NETWORK_STATE
, so these must also be declared in the manifest:<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon"
android:label="@string/app_name" android:debuggable="true"> <activity android:label="@string/app_name"
android:name="BannerExample"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|
screenLayout|uiMode|screenSize|smallestScreenSize"/> </application> <uses-permission android:name="android.permission.
INTERNET"/> <uses-permission android:name="android.permission.
ACCESS_NETWORK_STATE"/> </manifest>You should now be able to rebuild your project without any errors.
Adding a com.google.ads.AdView
Android apps are composed ofView
objects, Java instances the user sees as text areas, buttons and other controls. AdView
is simply another View
subclass displaying small HTML5 ads that respond to user touch.Like any
View
, an AdView
may be created either purely in code or largely in XML.The five lines of code it takes to add a banner:
- Import
com.google.ads.*
- Declare an
AdView
instance - Create it, specifying a unit ID—your AdMob publisher ID
- Add the view to the UI
- Load it with an ad
Activity
.import com.google.ads.*; public class BannerExample extends Activity { private AdView adView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Create the adView adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID); // Lookup your LinearLayout assuming it’s been given // the attribute android:id="@+id/mainLayout" LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout); // Add the adView to it layout.addView(adView); // Initiate a generic request to load it with an ad adView.loadAd(new AdRequest()); } @Override public void onDestroy() { if (adView != null) { adView.destroy(); } super.onDestroy(); } }
Warning: Make sure you're in test mode during
development to avoid being disabled for clicking your own ads. See
the Best
Practices guide for more details on enabling test ads.
You can download an example project containing this code here and may alternately create your banner in XML.The Result
When you now run your app you should see a banner at the top of the screen:
Note: The very first time AdMob sees your
publisher ID it may take up to two minutes to receive an ad. This
initial two minute lag will recur every time the ID goes unused for 24
hours.
Warning: All new Android apps created after October 14, 2011 will require an AdMob SDK
that was released on or after March 15, 2011. This corresponds to
version 4.0.2+ for Android. If you downloaded the library from our official download site,
then you're already set. Otherwise you may have an old version of the
AdMob SDK that was released prior to March 15, 2011, and your new app
will not receive any ad impressions until you update your SDK.
0 comments
Thanks for your comment