{unity:script/memo}広告を表示する(AdMob)
2021/08/10
Unity初心者の かなで がネットで調べて、実践できた知識の覚書。
基本的に自分用備忘録の為、説明不備はご了承くださいm(_ _)m
黒字:デフォルト
赤字:今回追加
青字:自己解釈(一般解釈とはかけ離れてる事に注意!)
目標:Androidで起動した画面にバナー広告を表示する。
using System.Collections; using System.Collections.Generic; using UnityEngine; using GoogleMobileAds.Api; //AdMob使うときに必要 public class sample : MonoBehaviour { public BannerView bannerView; //これがないとStartとかUpdateでbannerViewが使えない // Use this for initialization void Start () { RequestBanner (); //これを書くと広告を表示する。書く場所は考えよう。 } // Update is called once per frame void Update () { bannerView.Hide(); //これで非表示に出来る。書く場所は考えよう。 bannerView.Show(); //これで表示が出来る。書く場所は考えよう。 } private void RequestBanner() //この部分はとりあえずテンプレで必要と覚えておこう { string adUnitId = "ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX"; //ca-app-pub-XXX~には広告IDを書く bannerView = new BannerView (adUnitId, AdSize.Banner, AdPosition.Top); //AdPosition.Topは上部。BottomとかBottomRightとかで位置を変更出来る。 AdRequest request = new AdRequest.Builder().Build(); bannerView.LoadAd (request); } }
スクリプトは上記のみ。
これを使う為には、以下から「Google Mobile Ads Unity Plugin」をダウンロード
https://github.com/googleads/googleads-mobile-unity/releases
使いたいプロジェクトを開いた状態で、ダウンロードしたファイルを起動。
全て選択した状態で、Inportを実施。
「Assets」フォルダの中に「GoogleMobileAds」「PlayServicesResolver」「Plugins」の3つが出来ることを確認。
さっきのスクリプトを空オブジェクトでいいので、入れとく。
よくわからないが、もしかすると、これだけでOKなのかもしれない。
これで駄目なら、メニューの「Assets」→「Play Services Resolver」→「Android Resolver」→「Resolve Client Jars」を実行してみる。
すると、「Assets」フォルダ→「Plugins」→「Android」の中に、「play-services-ads-10.2.1.aar」とか「support-annotations-24.0.0.jar」とか出来る。
恐らくここまでは必要。これでOKなら、終わり。
実は何度も表示テストを行ったが、なぜか広告が表示されず、以下とか色んなことを試した。
が、実際は広告が表示されるのが遅かっただけで、以下は無意味であることがわかった。(現在のVerでは)
広告は作成してから実際に表示されるまで数時間から数日かかるとの情報もあるので、ここまででうまくいかなかった方は、数時間~数日開けて再度見てみることをお勧めします。
以下やったけど、無意味に終わった事。
・「AndroidManifest.xml」をどこかにコピーする。例えばこれとか
・「AndroidManifest.xml」の中になにかを1行追加する。例えばこれとか
・「SDK Manager」から「google play service」をインストールする。
・「google-play-services_lib」をどこかにコピーする。
・「Asset」メニュー→「Google Play Services」→「Resolve Client jars」を実行する。(これなかった)
・他にも色々やった。