2020年4月1日水曜日

Kotlinはじめました(AdMobバナー広告を組み込む)


Kotlinはじめました(書籍「Kotlinプログラミング」を読む)」のつづきです。だんだんKotlinにも慣れてきました。


♪♪♪


先日AdMobから「アダプティブバナーってのをリリースしたからな、組み込んだらどうや。儲かるかもしれへんで、ぐへへへ。(意訳)」というメールをいただいたので、ちょっとやってみました。

手順としては普通のバナーとほとんど変わらないので、今回はまず普通のバナー広告の組み込みについて書きます。


♪♪♪


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

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


♪♪♪


・Android Studioでプロジェクトを作成したら、プロジェクトレベルのbuild.gradleにGoogleのMavenリポジトリを設定します。

これは普通にプロジェクトを作成すればすでに設定されていると思います。


・アプリレベルのbuild.gradleに、AdMob SDKを設定します。

特別な理由がなければ、最新のバージョンを指定します。


・マニフェストファイルにアプリIDを設定します。

アプリIDは'ca-app-pub-'で始まるコードですが、数字の間をつなぐのがチルダです。広告ユニットIDと間違いやすいのでお気を付けください。


・レイアウトファイルに広告を貼るためのコンテナを追加します。

スタートガイドでは、レイアウトに直接AdViewを組み込む方法が例示されていますが、コンテナ(ここではFrameLayout)を作って、そこにAdViewをKotlin側で貼り付ける方が色々自由がきくのでオススメです。

コンテナの背景を灰色(#979797)にしているのは、単にコンテナ部分を見分けやすくするためです。通常は、透過するかそのアプリに馴染む背景を設定します。


・ActivityのKotlinソースは以下のようにします。

ここではinitAdMob()とloadAdMob()を続けて処理してますが、この初期化とロードを分けておくと後々いろいろコントロールしやすくなります。

また、AdListenerを使ってイベントを拾うのも、他の広告ネットワークを使うときなどには便利です。単純に広告を表示するだけなら不要ですが、広告の取得の可否・タイミングが受け取れると、ごにょごにょするのに自由度が高いです。

バナーのサイズにはAdSize.BANNERを設定しています。標準的な320x50のサイズです。

上で書きましたが、広告ユニットIDはアプリIDと間違いやすいので気をつけて下さい。


♪♪♪


これで実行するとバナー広告が表示されます。

Nice job!

これはNexus5Xで実行したものです。幅320の広告バナーの左右に灰色のコンテナの地が見えていることがわかります。

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

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

緑の海豚の通りにて。