いやいや、はまりました。
というのも、Android開発で、自分はバージョン1.5を使っていたんです。
んで、AdMobを表示させてました。
ところが、Google様がAdMobを買収されまして、その結果コード更新。
どうやらAdSenseが表示できるとの事で、久々にバージョンアップをかねて更新したんです。
ちなみにコードの入替についてはGoogle様が事細かく説明されております。
英語を読む気力がある方は、こちら。
ざっとまとめると、こんな感じ。
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company"
android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:debuggable="true">
<activity android:label="@string/app_name" android:name="BannerExample">
<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|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
太字のように変更。
んで、広告を表示したいレイアウトにこんな感じで
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="MY_AD_UNIT_ID"
ads:adSize="BANNER"
ads:loadAdOnCreate="true"/>
こんな感じで追加。
ところがです。
SDK1.5では、コンパイルエラーになってしまいました。
なにやらAndroidManifest.xmlに追加したアクティビティのうち、configChangesの値がエラーを吐いていると。
んで、ネットを探してみると、今まではscleenLayout以下がなかったようで。
削除してみると、コンパイルが通りました。
が。
エミュレータでみても、実機で見ても、広告が表示されません。
四苦八苦すること数時間。
たどり着いた英語のフォーラムを見てみると、なにやら最新のSDKでやれと。
対応SDKの設定は、<uses-sdk>で指定しろとなっております。
その通りやると、なんだかちゃんと行きました。
SDK1.5のAVDでもちゃんと動いてるみたいだし、広告も表示されてます。
わかりづらいな。
でも、表示されたからおk。
そんな感じでした。
コメントする