Add AdMob v6 to Your Android Apps Example

On June 22, 2012, in Android, by James Liu

Latest Update: Add AdMob with Google Play Service
AdMob released AdMob sdk v6.0.1 for android a few days ago. It is compatible with my last AdMob tutorial, but I think it is better to create a new tutorial to show how to add AdMob ads to our android apps. In this tutorial, I am using:

  • Eclipse SDK Version: 3.7.2
  • ADT 18.0
  • Android SDK r18
  • AdMob v6.0.1 for Android
  • HTC Desire with 2.3.7


First, we go to the AdMob SDK download page to get the latest Admob v6.0.1 for android. Unzip the AdMob SDK package and copy AdMob SDK jar to our AdMob project folder.

AdMob SDK v6.0 Folder Structure

AdMob SDK v6.0 Folder Structure

Second, go to project properties window, add AdMob jar to Java build path.

Add AdMob SDK to Java Build Path

Add AdMob SDK to Java Build Path

Third, declare com.google.ads.AdActivity and add networking permissions INTERNET and ACCESS_NETWORK_STATE in project’s AndroidManifest.xml. AndroidManifest.xml file looks like this:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.jms.AdmobExample"
      android:versionCode="2"
      android:versionName="1.1">
	<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AdmobExample"
                  android:label="@string/app_name">
            <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>

Fourth, add AdView instance in our app’s Activity:

package com.jms.AdmobExample;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

import com.google.ads.*;

public class AdmobExample extends Activity {
    /** Called when the activity is first created. */
	private AdView myAdView;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myAdView = new AdView(this, AdSize.BANNER, "Your Publish ID");
        
        //get layoutView
        LinearLayout rootView = (LinearLayout)this.findViewById(R.id.rootViewGroup);
        LinearLayout.LayoutParams layoutParams = new LayoutParams(480, 75);
        rootView.addView(myAdView, 0, layoutParams);        
        
        AdRequest re = new AdRequest();
        re.setGender(AdRequest.Gender.FEMALE);
        //re.setTestDevices(testDevices);
        //re.setTesting(testing)
        myAdView.loadAd(re);
    }
}

Solution for Error: String types not allowed at configChanges

Some friends meet the following error when running my example source code. The problem of this error is that Google AdMob Ads SDK for Andoird requires at least Android 1.5 and we must compiling the app target to Android v3.2 or API Level 13.

error: Error: String types not allowed (at ‘configChanges’ with value ‘keyboard|keyboardHidden|orientation|
screenLayout|uiMode|screenSize|smallestScreenSize’).

Build App Targeting to Android 3.2 API Level 13

Build App Targeting to Android 3.2 API Level 13

When you want to make your app compatible with version earlier than Android 3.2, you can set the “android:minSdkVersion” attribute in the AndroidManifest.xml file.

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>

Try AdMob example apk here.
Try source code here.

Tagged with:  

8 Responses to “Add AdMob v6 to Your Android Apps Example”

  1. raman goyal says:

    manifest file shows followin error

    error: Error: String types not allowed (at ‘configChanges’ with value ‘keyboard|keyboardHidden|orientation|screenLayout|uiMode|
    screenSize|smallestScreenSize’).

    what to do ?

  2. James says:

    Hi raman,

    First, please make sure that you are using the latest google android sdk, and ADT. And also make sure the your AdMob is the latest version.

  3. raman goyal says:

    Hi james,

    My ADT and SDK and AdMob is upto date.

  4. raman goyal says:

    Hi James,

    thanx a lot man…….this solved my problem

    love you bro 🙂

  5. pankaj says:

    i had put this code but add will not change can any one suggest me how can i randomly change add

  6. Apps says:

    When i am using the source code the app wont start! I get black screen and nothing else. I only changed publisher id

Leave a Reply

WordPress Blog

Free WordPress Themes