[AdMob]AdViewが表示されない!?

先日から開始した新ゲーム作成ですが・・・
・とりあえずタイトル画面から作ろうかな
→前回のSpaceDefenderみたいにタイトル画面に広告を入れてみよう
→そういえば、AdMobSDKが更新されているな・・・

ということで、最新版AdMobSDKを使ってみました。

結果なのですが、以前のAdMobSDKから比べると、はるかに導入が簡単になっていました。

手順1
AdMobにアプリケーションを追加し、AdMobSDKをダウンロードする。

手順2
EclipseのPackage Explorerから対象のプロジェクトにlibsフォルダを作成し、そこへAdMobSDKのjarファイルをコピーする。(これを書いている時点では、GoogleAdMobAdsSdk-4.1.0.jarが入ってました)

手順3
広告を表示させたいActivityのonCreateに下記のように記述


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    AdView adView = new AdView(this, AdSize.BANNER, "PublisherID");
    LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
    layout.addView(adView);
    AdRequest adRequest = new AdRequest();
    adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
    adView.loadAd(adRequest);
}

以上!
以下結果!

つうか、簡単すぎる!
あ、PublisherIDは、AdMobのアプリケーションの管理ページから取得した自分のIDを記述してください。
それから、Googleの解説ページの方法では、エミュレータ上でも本番広告が表示されてしまったので、adRequestにaddTestDeviceでテストデバイスを追加してあります。
これだけで広告が表示されます。
以前の方法から比べたらなんと簡単なことか!

でも、なんかつまんないとこでハマりました。
コードから設定するのではなく、layout.xmlから設定しようとしたのですが・・・
レイアウトxmlに、


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http:schemas.android.com/apk/lib/com.google.ads"
    android:id="@+id/linearLayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <com.google.ads.AdView android:id="@+id/adView"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	ads:adUnitId="PublisherID"
    	ads:adSize="BANNER"
    	ads:loadAdOnCreate="true" />
</LinearLayout>

こんな感じに書いたのですが・・・
「AdView missing required XML attribute “adSize”」

表示されない・・・(泣)

LogCatにも
06-23 05:58:39.060: ERROR/Ads(862): AdView missing required XML attribute “adSize”.
とか出力されています。
サンプルの設定部分からコピーしてきてもだめ、ads:adSizeを書かなくてもだめ・・・
途方に暮れていたところで、よくよく見たら

誤:
xmlns:ads=”http:schemas.android.com/apk/lib/com.google.ads”
正:
xmlns:ads=”http://schemas.android.com/apk/lib/com.google.ads”

間違ってる!
これを修正したところ、レイアウトxmlからも正常に広告表示できました。

(関係ないけど、ガンダム関係はどこまで引っ張るんでしょうか・・・)

つうか、これ、adSizeが設定されてないよってエラーじゃなくて、レイアウトxmlの記述に対して、ads:adSizeはAdViewに設定できませんとか言ってくれれば分かりやすいのに・・・

ぐぬぬ、Google様め!
大分時間を無駄にしてしまいました。

2 Responses to “[AdMob]AdViewが表示されない!?”

  1. あじ Says:

    同じところでつまづきました。
    助かりました!
    ありがとうございます!

  2. admin Says:

    あじ様

    お役に立ててよかったです(^o^)/

Leave a Reply

This blog is kept spam free by WP-SpamFree.