はじめに
現在開発中のアプリでNendAdやUnityAdsを入れているのですが
調べているとAdMobが結局相場が良いとの情報があったので試しに入れることにしました。
そこで色々トラブルありましたので備忘録としてここに残しておきたいと思います。
環境や利用するもの
Unityバージョン:2019.2.12f
Android周りのモジュール(NDKやらAndroid周り)も一緒にインストールしています。
導入方法は基本こちらを参照してください。
プラグインは「v4.1.0」というものを取り込みました。
取り込み時に出るウィンドウ
後で書いているので詳細に覚えていないのですが、取り込むと初めになにかポップアップが出てきました。
それを実行すると全く画面がすすまなかったのでキャンセルしてしまいました。
あとになって考えると出たそのウィンドウはプラグインによって追加される項目
Asset→Play Services Resolver→Resolve or Force Resolve
という項目の設定だった思います。
どうやらこちらはプロジェクトにある他のプラグインで使われているNDK?やJDK?などのライブラリの依存関係を解決するものなようです。
ひとまずこのResolveを実行して上記のサイトの手順に沿ってバナーを置いてみます。
Android実機で起動できたが広告が出ない
配置したはずの広告がでませんでした。なぜ?
どうやら単純に設定が足りなかったようです。
Assets→Google Mobile Ads→Setting
を実行するとInspectorに各設定が出来たようです。
またInspectorのGoogle AdMobの「Enabled」を有効にして
各プラットフォームの「App ID」を設定しました。
しかし、それでも広告は出ません。
そういえば最初のエラー
ふと、プラグインの時に出てきたあのウィンドウ重要だったんじゃ…と思いました。
そして
Asset→Play Services Resolver→Resolve
を実行しましたが大した表示もでず、先程と同じです。
念の為こちらも押してみました。
Asset→Play Services Resolver→Force Resolve
すると、さっき出てたウィンドウが出てプログレスバーが動いています!
ちょっと待つと無事に終わってデータが更新されたようです。
「これで動くぞ~」と思ったらここからエラー地獄の始まりです。
海外フォーラムにもあった内容
色々巡回しすぎて忘れてしまったのですが、海外のフォーラムなどでも同じ現象が出てるとありました。
ただ同じ環境の人が少なく、参考になるものはありませんでした。
AdMobプラグインが新しいから?
もしかしてAdMobプラグインに対してUnityのバージョンが古いから出るのかなと思いました。
ただUnityを上げるとほかにも不具合が出そうだったので、利用しているバージョンの2019.2.12の少し後に出ているプラグインのバージョンを入れてみました。
しかし、残念ながら直らず…
JDKで直るかも
どっかのサイトでJDKも関係していて最新を入れたら直った説を発見!
最新版のJDKをオラクルからダウンロードし、
Preferences→ExternalTools→JDK Instakked with Unity
のチェックを外して
インストールしたパスに追加しましたが特に変化はなしでした。
競合しているってことは?
「play-servicesほにゃらら」というファイルが競合している(複数ある)ため
先程の「Resolve」して依存関係を解決する必要がある的な発言を見つけました。
そういえばNendっていう広告、Android環境でも使えてたってことはここに競合の元があるんじゃ?
さっそくエクスプローラで検索してみたら…ありました!
しかもNendフォルダの中!
まだ完全移行ではないので残していましたが
使わなくなる予定なのでさくっと削除し、念の為Resolveしたところエラーは消えました。
いざ、実機に送ってみるとまたエラー
地味に初歩的なエラーでちょっと時間を掛けてしまいました…
Keyデータのパスワードが全角半角が間違っているのが気づかず何回も実行しようとしたんですね。
もうエラーが多すぎて疑心暗鬼がMAXになってたんでしょうね(^_^;)
とりあえずそれをクリアしたら無事広告が表示されました!
大まかな解決法
紆余曲折あって解決したこともあって複雑に書いてしまいましたが
おそらくこんな感じで直ると思います。
- GoogleのAdmobページで広告などを用意
- GoogleAdsプラグインを取り込む
- Assets→Google Mobile Ads→Settingで設定
- Nendなどの競合しそうな広告プラグインを削除
ただこの対応に2日掛けているので
Googleで設定した広告が有効になるには数日かかることもあるらしいので
少し待たないと動かないかもしれません。
最後に
NendやUnityAdsみたいに簡単に入ると思ったら意外に大変でした…
iOSはまだ試していませんがまた何かトラブルがあればまた追記なり、記事にして共有したいと思います。
同様の問題で苦労している人などのためになれば幸いです。
ではここまでお読みいただきありがとうございました。