cordova-plugin-admob-freeプラグインのバナー広告の表示で、overlaptrueにすると、アプリの画面下部がバナー広告で隠れてしまいます。
バナー広告の高さを取得できれば、アプリの画面の高さを調整することで回避することができます。
iOSの場合、admob.banner.events.LOADイベントでbannerHeightを取得することができますが、Androidは未対応のようです。

今回は、cordova-plugin-admob-freeプラグインを改造して、Androidでバナー広告の高さを取得したいと思います。


GitHubよりcordova-plugin-admob-free-master.zipをダウンロードして解凍・展開し、以下のファイルにコードを追加します。

BannerListener.java

admob.banner.events.LOADイベントでバナー広告の幅adWidthと高さadHeightが取得できるようにします。

BannerExecutor.java

AdSizegetWidthInPixels()getHeightInPixels()より、バナー広告の幅と高さを取得します。

プラグインのインストールについては、「【Monaca】cordova-plugin-admob-freeを使用してAdmob広告を表示する」を参考にしてください。

最後にアプリ側(JavaScript)です。

admob.banner.events.LOADイベントでバナー広告の幅adWidthと高さadHeightを取得します。
adWidth/画面の幅で密度を求めます。
adWidth/密度でアプリ上の幅、adHeight/密度でアプリ上の高さを求めます。
※idには、実際の広告ユニットIDを設定してください。

au SHV40
width:360 height:50 density:3

docomo SC-02M
width:360 height:50 density:2

docomo SO-01H
width:360 height:50 density:3

Amazon Fire7(2017)
width:600 height:90 density:1

Recommended Posts