Admobのインタースティシャル広告を最近実装した。
iphoneの場合は、googleの紹介ページに従って、実装するとなんの問題もなく実装できた。
一方androidの場合はページにしたがって実装しても全く動かない。以下にうまく表示できるようなった対処を記載するd
mInterstitialAdインスタンスが全くloadされない。
mInterstitialAdインスタンスは、googleの紹介ページにある通り、広告を読み込むためのインスタンスである。
Iphoneの場合は、viewDidLoad()イベントのときに読み込むが、androidの場合は、onCreate()のときに読み込む。
その後、ユーザのイベントにて以下のコードのように表示させるのだが、
isLoaded()がどんなタイミングで動かない。
[java]
if (mInterstitialAd.isLoaded()){
mInterstitialAd.show();
}
[/java]
広告IDを作成したものに変えたら動いた
Webviewの読み込み時や、ボタン押下時など読み込みが完了しているだろうタイミングをいろいろと調整してshow()をするタイミングを調整したが一行に動かないので、googleがお勧めてしているテスト用の広告IDではなく、admobから作成した広告IDを利用してみることにした。
すると見事に動いた。
Androidこれまで長年開発してきたけどこういう問題かなり多いと思う。
やっぱり開発していて気持ちいいのはiphoneだと思う。
ただ、言語的に、swiftよりはjavaのほうが個人的に直感的で書きやすいのだが。。
Leave a Reply