新しいAdmobを導入してみた

ライブラリをworkspaceに格納

・「libs」フォルダを作成し、GoogleAdMobAdsSdkXXX.jarを格納する
・プロパティ設定のLibrariesから上記のjarファイルを追加する

詳しくは以下のサイトを参照
Google AdMob Ads Android Fundamentals



AndroidManifest.xmlの変更

以前はが必要でしたが、最新版では不要。

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"</>

<activity android:name="com.google.ads.AdActivity"
          android:configChanges="keyboard|keyboardHidden|orientation"/>

Layoutファイルで定義する場合

xmlns:ads="http://schemas.android.com/apk/res/[PACKAGE_NAME]"

 <com.google.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adUnitId="[YOUR_PUBLISHER_ID]"
                         ads:adSize="BANNER"/>

xmlns:adsの記載を忘れがちなので注意。
valuesフォルダに以下のような「attrs.xml」を作成

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <declare-styleable name="com.google.ads.AdView">
      <attr name="adSize">
          <enum name="BANNER" value="1"/>
          <enum name="IAB_MRECT" value="2"/>
          <enum name="IAB_BANNER" value="3"/>
          <enum name="IAB_LEADERBOARD" value="4"/>
      </attr>
      <attr name="adUnitId" format="string"/>
  </declare-styleable>
</resources>

ActivityのJavaソースに記載

・AdView.loadAd(new AdRequest())をコールしないと表示しません
・AdView.setAdListener()でListenerを登録すると何かと便利

   	mAdView = (AdView) findViewById(R.id.adView);
    	mAdView.setAdListener(new AdListener() {
 
			@Override
			public void onDismissScreen(Ad arg0) {
				// TODO Auto-generated method stub
			}

			@Override
			public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
				// TODO Auto-generated method stub
			}

			@Override
			public void onLeaveApplication(Ad arg0) {
				// TODO Auto-generated method stub
			}

			@Override
			public void onPresentScreen(Ad arg0) {
				// TODO Auto-generated method stub
			}

			@Override
			public void onReceiveAd(Ad arg0) {
				// TODO Auto-generated method stub
			}
        });
    	
    	mAdView.loadAd(new AdRequest());