Google Mobile Ads Unity Plugin の更新 Vol.2 (2023年11月版)前編

  • 2023年11月21日
  • 2023年11月22日
  • Unity

こんにちは。ちでソフトです。
本記事では、Google Mobile Ads Unity プラグイン の更新作業について紹介しています。
前回( vol.1 )の内容が一部古くなったこともあり、新たに記事を公開させていただきました。

なお、本記事は前編・後編に分かれています。

本記事の概要(バージョンにご注意)

前編
・Google Mobile Ads Unity Plugin v7.0.1をv8.6.0へ更新します。
・バナー広告の実装の仕方をコード付きで紹介します。
後編
・リワード広告の実装の仕方をコード付きで紹介します。
・ビルド時のエラー対応を紹介します。

共通
・Unityエディタは2021.3.24fを使用しています。

 

前回の記事をふり返って

 
レモちゃん
当時のGoogle Mobile Ads Unity プラグインって、とても手こずったのよね~。
 
かなえ
けれど最近のものは扱いやすくなったようね。私たちがつくったアプリ「レモちゃんのスライドランド」への導入へ向けて、チャレンジしてみましょうよ!
 
レモちゃん
前回入れたバージョン7.0.1のプラグインも、廃止までにはまだ時間に余裕がありそうだけどね。
ま、いいかな?

繰り返しますが、今回のGoogle Mobile Ads Unityプラグイン(以下 Google Mobile Ads ) 更新作業は、前回の記事の続きとしてバージョン7.0.1 から 8.6.0 (記事執筆時の最新バージョン) へのものとなります。
バージョン7.0.1よりも古いバージョンをご利用されている方は、アンインストールに際しましては前回の更新作業(バージョン5.4.0を扱っています)が参考になる可能性もあります。

前回の記事で扱ったバージョン7系には、かなり苦しめられた経験があります。当時の最新版の導入は断念せざるを得なく、将来に期待をかけた記事内容になっていましたが、今のバージョン8系に至ってようやく改善の兆しが見えた感があります。
また、古いコードが載っていたままだった公式ガイドも、ここひと月で幾度も更新され、実装の参考になりやすくなっているようです。
もはや当方が記事にして紹介する必要もないかと一度はためらいましたが、注意点やつまづきポイントに遭遇しましたので、補足のつもりで記事にしてみました。

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

事前準備

 
かなえ
じゃあ、おさらいも兼ねて、事前に準備するものを挙げてみましょう。
 
レモちゃん
ええと、Google AdMobのコンソールにログインして、

・「アプリID」の確認
・「各広告ユニットID」の確認
・「テストデバイス」の設定(スマホ実機での確認に必要)

・・・ってところかしら?

本記事は更新作業を目的としているため、すでに Google Mobile Adsを導入されたことがある方を主に対象としているのですが、はじめて Google Mobile Ads を導入するという方もいらっしゃるでしょうから、その方々は公式ガイド等の情報を確認して、以上の準備をしておいてくださいね。
また、アプリがまだGoogle AdMobにおいて承認されていない段階でも、テストIDを使用してテスト広告を表示してみることは可能となっています。

▼ご参考まで(Google AdMob ヘルプより)

AdMob でアプリをセットアップする
テストデバイスを設定する

古いGoogle Mobile Ads Unity プラグインのアンインストール(Version 7.0.1のケース)

さっそく、落とし穴が・・・

 
レモちゃん
ねえ、かなえちゃん。前回の記事では、手動でいくつかファイルやフォルダの削除をするように、って案内していたじゃない?
 
かなえ
そうね。「ExternalDependencyManager」フォルダなどをね。
 
レモちゃん
実は現在のプラグインだと、インポートした直後に、古いプラグインの関連ファイルを抽出してくれて、そのまま削除ができるような便利な仕組みが用意されているようなのよ!!
 
かなえ
どれどれ・・・。待って!!その画面をよく見てみると、デフォルトで選択されているファイルの中には、削除してはいけないprefabファイルなども含まれているわ!!
そのまま【Apply】しちゃうと、正しいコードを記述しても、実行時にエラーになってしまうわよ!!
 
レモちゃん
え~~ん!!かといって、あたしにはどのファイルが必要なのかわからないし・・・。

まず、一番最初のつまづきポイントがここになるかと思います。
最新のGoogle Mobile Ads Unity プラグインを既存のを上書きする形でインポートした後に、このダイアログが表示されたのですが、「古いファイルを削除しますか?( Would you like to delete the following obsolete files in your project ? )」との文言を、まずは何も疑わずに試しに実行してみた結果、それまでテスト広告を表示できていた最新のプラグイン付属のサンプルデータが実行できなくなってしまったわけです(このダイアログの表示には若干タイムラグが発生するケースがあります)。

そもそも、上書きインポート自体も早急にやるのではなく、既存ファイルの調査が必要かもしれません。

 
かなえ
・・・ということで、ずいぶん悩んだのですが、ここでは、手動でアンインストールする手順を紹介することにしますね。
 
レモちゃん
前置きが長くなったけれど、はじめから仕切り直しね。
 
かなえ
なお、公式がアナウンスしているアンインストール方法ではないため、実行は自己責任の上で行ってくださいね。
 
レモちゃん
プロジェクトごとバックアップを取っておいたほうが安全かと思います。

手順

1) 「Unityエディタ」を起動する。

2) 「Assets」フォルダに格納されている3つのフォルダ
①「Plugins」
②「ExternalDependencyManager」&「GoogleMobileAds」(複数選択)を
この順番(①→②)で削除する。

注意事項
・先に「Plugins」フォルダのみを一つ選択して削除しないと、残りのフォルダを含めて完全に削除ができない場合があります。

・以前のプラグインを導入した際にデフォルトで新規に用意されたものとは異なるファイル、または編集したファイルにつきましては、削除を行うかどうかを含めて各自の判断で取り扱ってください。
例) Assets\Plugins\Android\proguard-user.txt など

 
「Project Settings」内の「Build」などの項目が、「Plugins」フォルダ内のファイルと関係があったはずです。
 
「Build」の項目は、この後の作業工程でも触れてます。
以上
 
レモちゃん
そういえば、前回の記事でも取り上げたけれど、v7.0.1を入れたときは「Plugins」フォルダの中にあったbaseProjectTemplateってファイル(Assets\Plugins\Android\baseProjectTemplate.gradle)は、中身を編集したんじゃなかったっけ? 削除しても大丈夫かな?
 
かなえ
そうね。けれどまずはフォルダ丸ごと削除してみましょうか。
そしてまた必要になりそうなら復元してみましょうか。
このような具合に、アンインストールにつきましては皆さまも過去の作業履歴を洗い出した上で、方針を決めて取り掛かったほうが、余計なトラブルを避けられるかと思います。

新しいGoogle Mobile Adsのインストール

1 ) 以下のURL(GitHub)より GoogleMobileAds-v8.6.0.unitypackage をダウンロードします。
※この記事を執筆している時点での最新バージョンのURLです。
https://github.com/googleads/googleads-mobile-unity/releases/tag/v8.6.0

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

3)  【 Import 】をクリックしてすべてのファイルをインポートする。
「ExternalDependencyManager」等が再度導入されます。

 
以下 4) ~6) はAndroidのプロジェクトのみに必要となる設定です。

4) Androidのプロジェクトの場合は、Unityエディターの上部メニューより【Edit】→【Project Settings】→【Player】→【Publishing Settings】→「Build」より以下を選択します。

・「Custom Main Gradle Template」
・「Custom Gradle Properties Template」

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

6 ) 【OK】をクリック

7 )   【 Assets 】→【 Google Mobile Ads 】→【 Settings 】の順にクリック。

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

以上

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

スクリプトの編集

 
レモちゃん
いよいよ、コードを書くのね
 
かなえ
その前に、皆さまへお伝えしておきたい注意事項を箇条書きでリストアップいたしました。
・本記事では、以下コードが紹介されておりますが、一部公式サイトとは異なる内容になっています。プラグイン付属のサンプルも参考にしています。

・最低限こんな具合に記述していけば、各広告が表示されるようになるはずですよ、といったレベルの内容です。また、すでにGoogle Mobile Ads Unity Pluginを導入されたことがある方には不必要な説明も含まれているかと存じます。

・一部のメソッドの実行方法(ボタンと組み合わせて手動実行にするか、または void Start() で自動実行にするかなど)につきましては、具体的な実装は各自にお任せさせていただいております(つまり丸ごとコピペしただけでは広告は表示されないです)。

・実際には広告を最適に表示させる手段が存在していたり、各状況に応じた細かいカスタマイズが必要になる可能性がありますが、それらの説明は割愛させていただきます。

・プラグインのバージョンごとに記述が異なってくる可能性も孕んでいるはずなのでご注意ください(実際、流用できたりできなかったりします)。

・つきましてはご参考にするしないは各自のご判断にお任せさせていただきます。実装に関連するご質問は受け付けておりませんのでご了承ください。

 
レモちゃん
なによ~~!!サイト主はずいぶん慎重になっているわね~。
自分がアプリに組み込んだコードを丸ごと全部公開すればいいのに~~!ケチねぇ~~!!
 
 
かなえ
まぁまぁレモちゃん。収益がからんでくるし、Googleがルールを変える可能性もあるはずだから、慎重にならざるを得ないのよ。おかしな実装をしてポリシー違反になったりされたら責任とれないでしょ?

一部濁した表現をしている箇所があるはずですが、できる限りの情報は共有させていただくつもりなので、ご勘弁くださいませ。


SDKを初期化する

 
かなえ
これは、アプリの起動時に行うのが理想というわけね。
 
レモちゃん
タイトル画面が表示される直前のゲームシーンなどにスクリプトを設定すればいいわよね?


バナー広告

 
レモちゃん
LoadAdメソッドが実行されるようにすれば、バナーが表示されるのよね。
 
かなえ
バナーを表示させた後は、DestroyAdメソッドが必ず行われるようにもしてね。
 
レモちゃん
画面遷移を行うボタンなどに仕込めばよさそうね。
 
かなえ
メソッドのアクセス修飾子を public にして、ゲームシーン上のCanvasに配置されているButtonに設定できるようにしたらOKよ。
 
かなえ
コード中の ※① につきまして
バナーのサイズや位置はここでカスタマイズできます。
 
レモちゃん
もし、イベントを付与したい場合は、※②の位置で呼ばれているListenToAdEventsメソッド内に定義すればいいのね!

後編へ続きます

 
かなえ
後編ではリワード広告やビルドを取り上げています。
最新情報をチェックしよう!

Unityの最新記事4件

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

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

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

CTR IMG