2020年4月15日水曜日

Kotlinはじめました(AdMobアダプティブバナー広告を組み込む)


「Kotlinはじめました(AdMobバナー広告を組み込む)」のつづきです。

前回普通のバナーを組み込みましたが、今回はそれをベースにちょこちょこっと直してアダプティブバナーの表示をしたいと思います。


♪♪♪


そもそもアダプティブバナーってなに?

ざっくり言うと、横幅が自由に指定できて、それにあわせて高さや広告内部のレイアウトを自動的にいい感じに設定してくれるバナー広告だそうです。

標準的なバナーのサイズというと320x50ですが、高解像度のディスプレイが主流の昨今、バナーの左右が余る事が多いです。前回のサンプルでもバナーの左右に灰色のコンテナの地が見えていました。それがディスプレイの横幅いっぱいに動的にあわせることができれば、広告としては効果的です。つまり、

うざくなる(笑)。


♪♪♪


お金に関わることですからね。自己責任でお願いしますよ。ちゃんとAdMobのヘルプを読んで下さいね。基本的にクイックスタートガイドと同じ内容ですけど、そこはそれ、こんなに簡単ですよという記事なのでご理解のほど。

AdMobのアカウントとアプリID、バナーの広告ユニットIDは取得済みの前提です。テスト用にAdMobによるデバッグ用IDがありますので、スタートガイドバナーのスタートガイドを確認して下さい。だめですよ、本番用のIDでテストしちゃ。

AdMobコンソールでの設定は特段必要ありません。バナーの広告ユニットIDも同じで大丈夫です。


♪♪♪


ちなみにAdMobによる解説動画はこちらです。

日本語の解説動画が作られるほどの推し具合。


♪♪♪


レイアウトを修正します。

広告によって高さがかわるので、コンテナのHeightを50dp固定からwrap_contentにします。


アクティビティにバナーの幅を算出する処理を追加して、ロード時にAdSize.BANNERの代わりに設定したらOKです。

AdMobのヘルプではバナーをコンテナの幅に合わせる処理が入ってますが、ここでは単純にディスプレイの幅に設定しています。


これで実行するとこうなります。
うざい(笑)。
例のコンテナの灰色の地が見えていません。


♪♪♪


このアダプティブバナーですが、上で書いたように横幅を指定すると高さが自動的に決められます。解説動画によると高さは最大で画面の15%までになるそうですが、広告のロード時に画面の高さは渡してないですから、SDKの中で取得しているのでしょうか。

インラインのアダプティブバナーはまだ開発中だそうで、これが出来れば今は亡きネイティブ広告の代わりになって、なかなか便利そうです。


♪♪♪


サンプルのプロジェクトをGithubに上げておきました。良かったら見てみてください。


こちらもどうぞ。
Kotlinはじめました(前編)
Kotlinはじめました(後編)
Kotlinはじめました(書籍「Kotlinプログラミング」を読む)
Kotlinはじめました(AdMobバナー広告を組み込む)