こんにちは。ちでソフトです。
本記事では、Unityの広告プラグイン、Google Mobile Ads Unity Plugin の更新作業について紹介しています。
Unityエディタのバージョンは2019.4.14f1 ( LTS ) を対象にしています。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
2023年11月22日追記
本記事よりも新しいバージョンのプラグイン ( v8.6.0 ) を取り扱った記事(前編・後編)も公開しております
Google Mobile Ads Unity Plugin の更新 Vol.2 (2023年11月版)前編
Google Mobile Ads Unity Pluginの各バージョン毎の終了に向けて
レモちゃん
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
今回の更新作業は、実際のところかなり手こずった感があります。以前導入したGoogle Mobile Ads Unity Pluginのバージョン5系に比較して、最新のものは公式の情報が不十分なため(注:個人の印象です)ビルドした際にエラーが多発したり、思いがけない不具合に見舞われたりしました。
また、本記事はUnityエディター2019.4.14f1 ( LTS )をメインに添えた内容となっていますが、後述しますが検証したところ2019.4.14f1では、Google Mobile Ads Unity Pluginのバージョンは7.0.1までしか適用できないように思われます。
導入からビルド、またリリースといった、一連の工程において遭遇したエラーに関するすべての情報が記載できているわけではありませんが、一部でも開発者の皆様方の参考になれたらと存じます。
なお、当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。
Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml
古いGoogle Mobile Adsのアンインストール(Version 5.4.0のケース)
1 ) Unityエディターの上部メニューより【 Edit 】→【 ProjectSetting 】の順にクリック。
2 ) 「ProjectSetting」が開いたら、左サイドメニューから「Package Manager」をクリック。
3 ) 「Game Package Registry by Google」の下の 【 ー 】ボタンをクリック。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
4 ) ダイアログが表示されたら【OK】をクリックして、ProjectSettingを閉じる。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
5 ) Assetsフォルダ以下の3つのフォルダを削除する。
注意: Google Mobile ADS関連以外のファイルや、内容を編集および追加した関連ファイルが含まれている場合は、削除するしないの判断も含めて、以降任意に対応してください)。
・ExternalDependencyManager
・GoogleMobileAds
・Plugins
このブログを閲覧された方よりお問い合わせをいただきました。
「ExternalDependencyManager」は、以下に記載されていたとおりに手順を正しく続ければ、(再び)導入されることになります。
6 ) いったんUnityエディターを終了して、Windowsのエクスプローラー等で、Unityのプロジェクトフォルダ直下の以下の2つのファイルを削除する。
・GoogleMobileAds.csproj
・GoogleMobileAds.Editor.csproj
新しいGoogle Mobile Adsのインストール
1 ) 以下のURLより Google Mobile Ads Unity Plugin v7.0.1 をダウンロードします。
https://github.com/googleads/googleads-mobile-unity/releases
※URLは変更される可能性があります。
2 ) Unityエディターを再起動したら、上部メニューより【 Assets 】→【 Import Package 】→【 Custom Package 】の順にクリックして、ダウンロードしたプラグインを指定する。
3) 【 Import 】をクリックしてすべてのファイルをインポートする。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
4 ) 【I Made a Backup, Go Ahead!】をクリック。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
5 ) Unityエディターの上部メニューより【 Assets 】→【 External Dependency Manager 】→【 Android Resolver 】→【 Resolve 】の順にクリック。
6 ) 【OK】をクリック。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
7 ) Unityエディターの上部メニューより【 Assets 】→【 Google Mobile Ads 】→【 Settings 】の順にクリック。
8 ) 各フィールドに Android と iOS の AdMob アプリ ID を再入力します。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
補足: Androidビルド時の注意
\ProjectFolder\Temp\gradleOut\launcher\build\intermediates\bundle_manifest\release\processReleaseManifest\bundle-manifest\AndroidManifest.xml:40: error: unexpected element <queries> found in <manifest>.
これは、UnityがAndroidのビルドに使用しているGradleというシステムに関連したエラーなのだそうです。
原因としてはGradleの設定がxmlファイルの<queries>要素に対応していないためであり、以下のサイトに対処方法を含めて詳しい情報が掲載されています。
https://android-developers.googleblog.com/2020/07/preparing-your-build-for-package-visibility-in-android-11.html
Unity上での修正手順は以下のとおりです。
1 ) 「Project Settings」を起動して左サイドメニューから「Player」をクリック。
2 ) 「Custom Base Gradle Template」にチェックを入れる。
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)
3 ) Assets\Plugins\Android\baseProjectTemplate.gradle をテキストエディタ等で開く。
4 ) 以下のように変更して保存をする。
変更前
考察:最適なGoogle Mobile Ads Unity Pluginの導入時期について
かなえちゃんが言っているとおり、下記Unityの公式ドキュメントにはGradleとUnityの互換性について述べられています。
https://docs.unity3d.com/Manual/android-gradle-overview.html
Unity2019.4.14f1にプリセットで導入されているGradle環境におきまして、当記事執筆時最新のGoogle Mobile Ads Unity Plugin v7.3.1を導入してAndroid用のビルドを試してみたところ、Unityのコンソール上にGradle関連のエラーが出て失敗してしまいました。
試しにGradleの公式サイトより互換性があるバージョン5.1.1をダウンロードして試しても同様の結果でした。
また、互換性がないバージョン5.6.4でビルドを試してみると、最後までエラーが出ないで終了まで進めることはできたのですが、喜んだのも束の間、出力されたapkファイルをAndroid実機にインストールしてみたところ、広告が表示されるタイミングでゲームがストップ(画面に何も表示されない状態になる)してしまい・・・。
Unity2019.4.14f1では、最新のGoogle Mobile Ads Unity Pluginを導入した状態でのAndroid用ビルドは無理がありそうです。
方法があるのかもしれませんが、必要以上に調査や対応に時間をかけすぎるのは賢い選択なのでしょうか・・・?
それなら別の選択肢を考えたほうがよさそうですね。
検証してみたところ、Unityエディタの2021.3.15F ( LTS )であれば、AndroidのビルドはGradle関連の変更を多少手動で行う程度で成功できました。またAndroid実機におきましても広告の表示を確認することができました。
Unityエディタのバージョンアップに伴う修正やテストは避けられないかもしれませんが、ひとまずこの方法があることを明記しておきます。
いずれにせよ、Mobile Ads Unity Plugin v7.0.1を導入しておけば、検討する時間は十分に取れるかとは存じます。
GooglePlayから当方のアプリに対しましてポリシー違反の警告が届いておりました。
「アプリは Android 13(API レベル 33) 以降を対象とする必要があります」とのことでしたので、
さっそくUnityエディタ(Ver2019.4.14f1)上で[Player Settings]を開いて、[Identification]の[Target API Level]を”33″に上げてからビルドをしましたところ、途中で一部のシステムのアップデートが行われたものの、エラーでビルドがストップしてしまう事態に見舞われました。
再び原因を調査する必要がありそうですが…。
iOSのビルドにつきましては、Google Mobile Ads Unity Plugin v7.3.1を導入すると、Unityエディタが2019.4.14f1でも2021.3.15FでもXcode側でのプロセスで大量のエラーに遭遇します。界隈ではこれについての議論がさかんのようですね。
今回の記事では紹介しきれないのですが、Google Mobile Ads Unity Plugin v7.0.1であればUnityエディタが2019.4.14f1のままでも多少の対応でビルドおよびAppleストアへの提出まで済ますことができました。
v7.0.1が廃止されるまでの処置ですが、いったんプラグインの開発チームの対応を静観しておくのもよさそうです。
※廃止の時期は変更される可能性があります。
補足ですが、別のiOS用アプリになりますが、Unityエディタ2021.3.24f1とGoogle Mobile Ads Unity Plugin v8.3.0の組み合わせで難なくストアに公開することができました。
私ども「ちでソフト」では、今後はAndroidとiOSの両方の対応に際し、Google Mobile Ads Unity Plugin のバージョンを混在させる運用も検討しています。将来的には仕様が変わって以前のように統一できればいいのですが、Unity,Google,Appleの三社が(結果的に)足並みをそろえることが必要のはずなので、実現はなかなか難しいのかもしれませんね。
また本年(2023年)第一四半期に最新のプラグインがリリースされることがGoogle AdMobの公式ページにて発表されていますが、そちらの仕様で情勢が変化することも考慮に入れておく必要がありそうですね。
本記事よりも新しいバージョンのGoogle Mobile Ads Unity プラグイン ( v8.6.0 ) を取り扱った記事(前編・後編)も公開しております。ぜひご確認お願いいたします。
Google Mobile Ads Unity Plugin の更新 Vol.2 (2023年11月版)前編
Google Mobile Ads Unity Plugin の更新 Vol.2 (2023年11月版)後編
![](https://chidesoft.main.jp/wp-content/themes/the-thor/img/dummy.gif)