今回はadmobSampleというプロジェクトを作成して手順のメモを書きます。
対象androidのバージョンはいくつでもかまいませんが、とりあえず表示するだけなので、1.6とします。(現在のところadmobSDKの使用方法はバージョンの違いはありません。)
AdMob
http://jp.admob.com/
ここの管理画面から"サイト/アプリケーションの追加"でadmobSDKをダウンロードする。
(2011/9/5の時点のバージョンは4.1.1)
AndroidManifest.xmlの編集
"AndroidManifest.xml"へactivityとuses-permissionの追加をする。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.uosoft.android.admobSample" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".AdmobSampleActivity" 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"/> <!-- ここまで --> </application> <!-- ここから --> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!-- ここまで --> </manifest>
レイアウトファイルの編集
admobのビューを追加したいコントロールのandroid:idを"@+id/ad"に設定する。
今回はデフォルトの画面のレイアウト定義ファイル(res/layout/main.xml)へFrameLayoutを追加し、そこに表示させるようにする。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- ここから --> <FrameLayout android:id="@+id/ad" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- ここまで --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
広告を表示するActivityを編集
今回はデフォルトの画面(AdmobSampleActivity)を編集する
解説省略(ソース中のコメントを参考にしてください)
package net.uosoft.android.admobSample; import android.app.Activity; import android.os.Bundle; // 追加されたインポート import android.widget.FrameLayout; import com.google.ads.Ad; import com.google.ads.AdListener; import com.google.ads.AdRequest; import com.google.ads.AdRequest.ErrorCode; import com.google.ads.AdSize; import com.google.ads.AdView; // ここまで // implements AdListenerを追加 public class AdmobSampleActivity extends Activity implements AdListener { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 広告用リクエストオブジェクトの定義 AdRequest adRequest=new AdRequest(); // ここまで // テストのためのコード(リリース時は削除する) adRequest.addTestDevice("0123456789ABCDEF0123456789ABCDEF"); // テスト端末 adRequest.addTestDevice(AdRequest.TEST_EMULATOR); // Emulator adRequest.setTesting(true); // ここまで // 広告表示処理 // <パブリッシャーID>はAdMobの管理画面から取得する AdView adView = new AdView(this, AdSize.BANNER, "<パブリッシャーID>"); adView.setAdListener(this); adView.loadAd(adRequest); FrameLayout layout = (FrameLayout)findViewById(R.id.ad); layout.addView(adView); // ここまで } // // 以下、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 // 広告が準備完了なら表示させる処理を追加 if(arg0.isReady()){ arg0.loadAd(new AdRequest()); } // ここまで } @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 } }
実行
Androidプログラミングバイブル―SDK3.0/2.3/2.2/2.1対応 (smart phone programming bible)
- 作者: 布留川英一
- 出版社/メーカー: ソシム
- 発売日: 2011/04
- メディア: 単行本
- 購入: 4人 クリック: 58回
- この商品を含むブログ (16件) を見る