2012年4月21日土曜日

admobの広告を画面下に設置する

広告を張らないと無料アプリでは儲からないということで、
admobの導入方法を書きたいと思います。
admobのサインインとかは省略して、導入だけやります(eclipse)。

1.まず、広告を取り入れるプロジェクトのプロパティ→javaのビルドパス→外部jarの追加を選んで、
ダウンロードしたadmobのjarを選択。

2.実行するプロジェクトのAndroidManifest.xml
に以下を追加

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

ちなみにandroid:configChangeの項目は、android3.2以上?のバージョンでないと実行できません。
なので、プロジェクトのandroidビルドターゲットのバージョンをそれ以上にセットしてください。
自分は4.0にしました。
後、それだと低いバージョンのosに対して実行できないんじゃないかというのがありますが、
古いバージョンで実行できていれば大丈夫なので、気にする必要はありません。
後、このconfigChangesの設定を入れないと広告が表示されないので必須?です。


3.ソースに広告を乗っけるコードを書く。

自分はゲームを作っているので、activityのソースに直接書きます。
アクティビティを継承したクラスで、

 private GameView view;    // ゲームに使うview
 private AdView m_Ad;      // admobclassをインポートする必要ありatarimae

@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  Window window = getWindow();
  window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
  view = new GameView(this);
  // ad生成
  m_Ad = new AdView(this,AdSize.BANNER,ID);      // IDにはアプリ登録番号を入れる
  RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams   ( RelativeLayout.LayoutParams.FILL_PARENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);    // 下にセットするようにする
  m_Ad.setLayoutParams(lp);
  
  RelativeLayout layout = new RelativeLayout(this);
  layout.addView(view);
  layout.addView(m_Ad);
  m_Ad.loadAd(new AdRequest());    // 広告の表示
  
  setContentView(layout);
 
  // 広告がタッチされたなどの条件を取ります。
  m_Ad.setAdListener(new AdListener(){
         @Override
         public void onDismissScreen(Ad arg0) {
          // 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
       }
   @Override
   public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
    // TODO 自動生成されたメソッド・スタブ  
   }
        });
    }

// 消しておく
 @Override
 public void onDestroy(){
  super.onDestroy();
  m_Ad.destroy();
 m_Ad = null;
 }

以上でadmobの広告画面の一番下に表示されると思います。

いままで、admobを使ってみて、最高で1クリック5セントくらいです。
20クリックで1ドル.......(ToT)

おしまい。

0 件のコメント:

コメントを投稿