gTranslatorでは、Admobの広告を表示しています。ある時、Admobの管理コンソールにログインしてみると、「コードの更新があります」の表示がされていました。
どうやら、AdMob Android SDKが更新されたようです。
ということで、5月11日にリリースしたgTranslator v1.2.1でAdMob Android SDKを更新しましたので、導入手順をご紹介したいと思います。
今回の更新では、SDKが更新されただけでなく、名称がGoogle AdMob Ads SDK for Androidに変更されたようです。
Google AdMob Ads SDK for Androidのダウンロード
「コードの更新があります」の表示の下の「更新」ボタンをクリックすると、SDKをダウンロードする画面が表示されます。
「Admob Android SDKのダウンロード」ボタンをクリックすると、ダウンロードが始まります。
5月10日時点では、SDKのファイル名が、
googleadmobadssdkandroid.zip
でした。このzipファイルを解凍すると、
GoogleAdMobAdsSdkAndroid-4.0.4
というフォルダができましたので、名前から判断すると、バージョンはどうやら4.0.4のようです。
Google AdMob Ads SDK for Androidの導入
続いて、SDKの導入です。
Google AdMob Ads Android Fundamentals – Google AdMob Ads SDK – Google Codeを参考に進めます。
まず、SDKのJARファイルをプロジェクトに追加します。プロジェクトフォルダ配下の「lib」フォルダに「GoogleAdMobAdsSdk-4.0.4.jar」をコピーします。
プロジェクトのプロパティから、このJARファイルを「Javaのビルド・パス」に追加します。
次に、Admob Android SDKが更新されましたでAndroidManifest.xmlに追加した記述、
<activity android:name="com.admob.android.ads.AdMobActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|keyboard|keyboardHidden" />
の代わりに以下の記述を追記します。
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/>
少しシンプルになった感じです。
また、以下の記述は不要になったようです。
<receiver android:name="com.admob.android.ads.analytics.InstallReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>
同様に、Android Market公開を目指してAndroidアプリを開発する!(広告表示実装編)の最初のバージョンの、
<meta-data android:value="a149afxxxx" android:name="ADMOB_PUBLISHER_ID" />
この記述も不要になったようです。
次に、ネットワークのアクセス権を与える記述を追加します。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
続いて、サンプルのように、広告バナーを表示するロジックを記述します。
import com.google.ads.*; public class BannerExample extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Create the adView 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()); } }
Google AdMob Ads Android Fundamentals – Google AdMob Ads SDK – Google Codeより引用。
10行目のAdSize.BANNERのように、広告バナーのサイズを指定できるようです。
また、パブリッシャーIDは、同じく10行目のMY_AD_UNIT_IDのところに指定しています。
これで広告が表示されるようになりました。
補足
と、このエントリを書き終えたところで気付いたのですが、5月16日時点で、バージョン4.1.0のGoogleAdMobAdsSdkAndroid-4.1.0がリリースされていることに気が付きました。
見たところ、導入方法はバージョン4.0.4のやり方と同じようです。次の機能追加でSDKも更新したいと思います。