Google Mobile Ads Unity Plugin の更新

  • 2023年1月9日
  • 2023年12月8日
  • Unity

こんにちは。ちでソフトです。

本記事では、Unityの広告プラグイン、Google Mobile Ads Unity Plugin の更新作業について紹介しています。

 
かなえ
重要
Unityエディタのバージョンは2019.4.14f1 ( LTS ) を対象にしています。
 
レモちゃん
はーい。よろしくお願いしまーす。

2023年11月22日追記
本記事よりも新しいバージョンのプラグイン ( v8.6.0 ) を取り扱った記事(前編・後編)も公開しております
Google Mobile Ads Unity Plugin の更新 Vol.2 (2023年11月版)前編

Google Mobile Ads Unity Pluginの各バージョン毎の終了に向けて

 
レモちゃん
大変よー!!GoogleAdMobにログインしたら、「Google Mobile Ads SDK のサポート終了スケジュールのお知らせ」という通知が届いていたの!!https://developers.google.com/admob/unity/deprecation
 
 
かなえ
ええと、確か「レモちゃんのスライドランド」はGoogle Mobile Ads Unity Plugin のv5.4.0を導入していたから、その通知を見るかぎり、2023年、つまりこの記事を書いている今年中に廃止されるということなのかしら?
 

レモちゃん

ええ~!? 早めに対応しておかないと、困ったことになりそう!!
 
かなえ
けれど、何かと制限などがありそうね。あまり深入りするのも面倒なので、どこかで割り切るなり、思い切った対応をする必要がありそう・・・。

PR

今回の更新作業は、実際のところかなり手こずった感があります。以前導入したGoogle Mobile Ads Unity Pluginのバージョン5系に比較して、最新のものは公式の情報が不十分なため(注:個人の印象です)ビルドした際にエラーが多発したり、思いがけない不具合に見舞われたりしました。
また、本記事はUnityエディター2019.4.14f1 ( LTS )をメインに添えた内容となっていますが、後述しますが検証したところ2019.4.14f1では、Google Mobile Ads Unity Pluginのバージョンは7.0.1までしか適用できないように思われます。

導入からビルド、またリリースといった、一連の工程において遭遇したエラーに関するすべての情報が記載できているわけではありませんが、一部でも開発者の皆様方の参考になれたらと存じます。

なお、当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

Unityに導入されているGoogle Mobile Ads Unity Pluginのバージョンは、Assetsフォルダ以下のxmlファイルを開くと確認することができます。

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」の下の 【 ー 】ボタンをクリック。

4 )   ダイアログが表示されたら【OK】をクリックして、ProjectSettingを閉じる。

5 )   Assetsフォルダ以下の3つのフォルダを削除する。

注意: Google Mobile ADS関連以外のファイルや、内容を編集および追加した関連ファイルが含まれている場合は、削除するしないの判断も含めて、以降任意に対応してください)。

・ExternalDependencyManager

・GoogleMobileAds

・Plugins

2023年8月27日追記

このブログを閲覧された方よりお問い合わせをいただきました。

「ExternalDependencyManager」は、以下に記載されていたとおりに手順を正しく続ければ、(再び)導入されることになります。

 
下にある 3)「Import Unity Package」のスクショ画像に、「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は変更される可能性があります。 

 
レモちゃん
えっ!? もっと最新のバージョンが、すでにいくつかリリースされているようだけど・・・
 
かなえ
Unityエディターが2019.4.14f1 だと、それらはビルドがうまくいかなかったりするのよね。
 
レモちゃん
切り捨てられたのかしら・・・?
 
かなえ
なお、以下の内容につきましては、Google AdMob公式ページの方も参考にしてみてください。

2 )   Unityエディターを再起動したら、上部メニューより【 Assets 】→【 Import Package 】→【 Custom Package 】の順にクリックして、ダウンロードしたプラグインを指定する。

3)  【 Import 】をクリックしてすべてのファイルをインポートする。

4 )  【I Made a Backup, Go Ahead!】をクリック。

5 )   Unityエディターの上部メニューより【 Assets 】→【 External Dependency Manager 】→【 Android Resolver 】→【 Resolve 】の順にクリック。

6 ) 【OK】をクリック。

7 )   Unityエディターの上部メニューより【 Assets 】→【 Google Mobile Ads 】→【 Settings 】の順にクリック。

8 )   各フィールドに Android と iOS の AdMob アプリ ID を再入力します。

 
かなえ
Mobile Ads Unityプラグインの更新につきましては、以上の手順で終了となるはずです。なお、更新に伴って既存の各広告フォーマット関連のスクリプトファイルの変更が発生する可能性がありますが、詳細は割愛させていただきます。
 
レモちゃん
Mobile Ads Unityプラグインをダウンロードしたページに、Source code.zip も存在するはずなので、そちらのzipファイルを解凍してsamplesの中身を見るとヒントがあるはずよ。

補足: Androidビルド時の注意

 
かなえ
以上の手順を実施した後で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」にチェックを入れる。  

3 )  Assets\Plugins\Android\baseProjectTemplate.gradle をテキストエディタ等で開く。

4 )  以下のように変更して保存をする。

変更前

classpath ‘com.android.tools.build:gradle:3.4.0’
変更後
classpath ‘com.android.tools.build:gradle:3.4.3’
再度ビルドを行うと、エラーが出力されることなく最後のプロセスまで行われるはずです。

考察:最適なGoogle Mobile Ads Unity Pluginの導入時期について

 
レモちゃん
今の最新の Mobile Ads Unity 7.3.1 は Unity2019.4 には適用できないっていうけど、本当にそうなのかなあ?
 
かなえ
まず、Androidについていえば、各Unityエディターのバージョンには対応しているGradleのバージョンが決まっているみたいなの。対応していないGradleを利用してビルドしても、ビルド自体は成功しても実機で広告を表示させることはできなかったわ。

かなえちゃんが言っているとおり、下記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エディタのバージョンを上げてみるのが確実かしら・・・?

検証してみたところ、Unityエディタの2021.3.15F ( LTS )であれば、AndroidのビルドはGradle関連の変更を多少手動で行う程度で成功できました。またAndroid実機におきましても広告の表示を確認することができました。

Unityエディタのバージョンアップに伴う修正やテストは避けられないかもしれませんが、ひとまずこの方法があることを明記しておきます。

いずれにせよ、Mobile Ads Unity Plugin v7.0.1を導入しておけば、検討する時間は十分に取れるかとは存じます。

2023年10月21日追記

GooglePlayから当方のアプリに対しましてポリシー違反の警告が届いておりました。
「アプリは Android 13(API レベル 33) 以降を対象とする必要があります」とのことでしたので、
さっそくUnityエディタ(Ver2019.4.14f1)上で[Player Settings]を開いて、[Identification]の[Target API Level]を”33″に上げてからビルドをしましたところ、途中で一部のシステムのアップデートが行われたものの、エラーでビルドがストップしてしまう事態に見舞われました。

再び原因を調査する必要がありそうですが…。

 
かなえ
けっきょくUnityエディタをアップデートしたら、あっさりビルドが成功したので、ポリシー違反の解決まで達成はできたのだけれど…。
 
レモちゃん
この手のエラー対応は、これからも続きそうね。
PR
 
レモちゃん
iOSについてはどうなのかな?
 
かなえ
こちらも最新版は敷居が高そうね。現時点ではGoogle Mobile Ads Unity Plugin v7.0.1が無難と思う。
 
レモちゃん
いちおう かなえちゃん個人の見解ね。

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が廃止されるまでの処置ですが、いったんプラグインの開発チームの対応を静観しておくのもよさそうです。
※廃止の時期は変更される可能性があります。

2023年11月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のサポートのスケジュールにつきましては、必ず公式情報をご確認していただくようにお願いいたします。
2023年11月22日追記
本記事よりも新しいバージョンの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月版)後編

最新情報をチェックしよう!

Unityの最新記事4件

>レモちゃんのスライドランド

レモちゃんのスライドランド

ちでソフトがリリースしたスマホ用アクション&パズルゲームです。
AppStore,GooglePlayにて無料でダウンロードできます。
ぜひ、遊んでみてくださいね!

CTR IMG