UnityにAdMobのバナー広告を実装してみました
Unityに入門して一週間がたち、ようやくゲームが作れる感じになってきました。
(Unity関連の過去記事はこちらです)
【Unity5の教科書】Unity初心者に最適な入門書はこれである - ホーリーのプログラミング日記
Unityで2Dの脱出ゲームを作ろうと思ったんだけど早々に挫折した話 - ホーリーのプログラミング日記
UnityではじめるC#を読んだら簡単に脱出ゲームが作れるようになった話 - ホーリーのプログラミング日記
んで、さあゲームを作ろうって言う前に、やっぱ大事なのはあれじゃないですか。
お金でしょうw
お金と言う名の広告ですよ。僕みたいな弱小無料アプリ広告守銭奴開発者には、広告がなによりも大切なんです。
そんなわけで、ゲームを作り始める前に、早速広告の実装テストをしてみました。
参考にさせていただいたサイト
参考にさせていただいたサイトはこちらです。
(これはAndroidの記事でして、iPhoneのそれは、一番最後に追記しました。)
[Unity] AdMob 広告をAndroidに実装する | Unity 3DCG
なんだかAdMobのサイトに書いてある設定方法って、もうちょっと古いんですかね。SpriteKitに実装するときもそうだったんですが、情報が古い気がします。
(Swiftの設定方法がなくて、Objective-Cだけだったんですよ)
んで、どうやら最新版はこのサイトに書いてることだったみたいなので、露骨に真似をさせていただきました。
基本的には、ここに書いてる通りにやればOKです。
ハマったポイント
僕くらいのヘッポコになると、広告ひとつ表示させるのにも必ずハマります。ご多分に漏れず今回もハマったポイントがあるので、ちょっと紹介しましょう。
同じポイントでつまづいてる人がいましたら、参考になると幸いです。
AbMobの申請が通らないと広告は表示されない
当たり前っちゃ当たり前なんですが、広告の申請が通らないと、広告は表示されません。
でもこれに気付かずに、今回も小一時間くらい格闘してしまいました。
水色に塗りつぶしてしまいましたが、新しく広告ユニットを作ると、広告ユニットIDがあてがわれます。それをコードに埋め込まなきゃいけないんですが、これって申請から実際に表示されるまで時間差があるんで注意しましょう。
個人的な感覚ですが、数時間から半日かかってる気がします。
そもそもAndroidの広告ユニットを作成してるのか
新しく広告ユニットを作るのが面倒で、今あるものでやってたんですよ。そうしたら全然表示されなくて、迷いに迷いました。
んで気が付いたんです。これiOSの広告ユニットじゃないかと。
下記画像の赤いところがそうですが、Androidで表示させるときは、Androidの広告ユニットIDをコードに埋め込みましょう。
(今はiPhoneで出してるアプリをUnityで作り変えてるんで、基本的にAndroidをやってるんです)
Google Play Servicesって項目はなくなっている
上記リンクの記事を参考にしていただければ問題はないんですが、一点だけ注意事項があります。それはGoogle Play Servicesって項目がなくなってること。今はPlay Service Resolverに変わってますね。
Resolve Client jarsを実行するときは、ここからやりましょう。
最後に
こんな感じで無事にAdMobのバナー広告を表示することが出来ました。
よしよし、アンドロイドでもアドモブ出たぞ。 pic.twitter.com/ikNmQz1Ugt
— ホーリー (@gevvoihorry) 2016年10月25日
iPhoneに関しては、まだやってないので細かいところを分かってませんが、Androidはこれでバッチリです。
上手くいかない人は、このサイトを参考にしながらやってみてください。
[Unity] AdMob 広告をAndroidに実装する | Unity 3DCG
以上、UnityにAdMobのバナー広告を実装してみました、って話でした。
【追記 2017.04.28】
iPhoneはこっちを参考にしました。同じ方の記事ですが、これも非常に分かりやすかったです。
[Unity] AdMob広告をiPhoneアプリに貼る | Unity 3DCG
また、こちらも参考になりますね。テストコードの書き方も載ってます。
【Unity】AdMobをUnityアプリに実装する方法 | クリアメモリ
【追記 2017.05.05】
ふと思ったんですけど、このアドモブのバナー広告って、起動画面に空のオブジェクトを作って、それに紹介記事内のコードを貼れば出るんですけど、シングルトン設計じゃなくてもいいのかなと、疑問に思ってきました。
とりあえず出るんですよ。全部の画面に。でもなんかシングルトンにして、オブジェクトを維持しないと気持ち悪くなってきたんで、最近シングルトンにするようにしました。