詳細版[Unity]androidアプリのAPIレベルを上げてGoogle Mobile Ads Unity Pluginも更新!

Unity

画像付きで詳しく説明していきます!

概要については以下リンクで記載させていただきましたが

こちらの記事では実際に私がやった作業を記載していきます!

APIレベルを上げる

こちらは概要の記事でも記載した通り

めっちゃ簡単で新しいUnityのバージョンでプロジェクトを開いて

ビルドするだけです

最新のUnityエディタをインストール

まず最新のUnityエディタがない場合はインストールしましょう

Unity Hubを開いてInstallsタブをクリック→Install Editorをクリック

Official releasesの中で最新のUnityエディタのInstallをクリックしましょう!

そうすると追加モジュールのインストールを選択できる画面が

出てきますのでAndroid Build Supportをチェックしましょう!

表示されている通り、ここに最新のAndroid SDKが入っています

チェックしたらContinueをクリックして次へ

するとAndroid SDKのライセンス条約が出てきますので

同意のチェックを入れてInstallをクリックします

インストールが開始しますので終わるまで待ちましょう!

↓インストールが完了しました!

インストールが終わりましたらば蟹、Projectsをクリックします

で、今回は以前リリースしました以下ブロック崩しのプロジェクトで

APIレベルを上げます

悲しいかな、3,4年前にリリースしたのに

10件ほどしかダウンロードされていないアプリです 苦笑

プロジェクト名としては「Block Breaker1」としていて

Unityエディタのバージョンは脅威の「2020.3.23f1」です

5年も前のエディタになるのでそりゃAPIレベル古いわなって感じですね

【大事!】以下の作業をする前にプロジェクトのバックアップを取りましょう!

何か起きてプロジェクト自体が壊れる可能性は全然ありますので

とりあえずバックアップを取りましょう!

単純にプロジェクトのフォルダをコピーすればよいだけですので

簡単ですし、時間もそんなに掛からないのでやらない理由はありません!

新しいUnityエディタでプロジェクトを開く!

では実際に開いてみましょう!

対象のプロジェクトをクリックしてみたら以下のようになりました

「指定したエディタがインストールされてないよ」って言われています

古すぎてアンインストールしていたのでこうなっちゃいました…

ということでさきほどインストールした最新エディタを指定して

プロジェクトを開きましょう!

すると以下のモーダルが表示されました

エディタのバージョンが違うせいで色々変わっちゃうかもしれないし

不具合起きるかもよ?

みたいな内容です。が、そもそも古すぎるプロジェクトなので

もはや選択肢は存在しません 笑

開いておかしくなっちゃったときのためにも

バックアップが大事ってわけです!

Change Versionをクリックしてプロジェクトを開いちゃいましょう!!

はい、すると更に以下ポップアップが表示されました

こちらも同じく

「別のバージョンのエディタで開かれたプロジェクトだから

色々おかしくなるかもしれないよ?本当に開いていいんだね?」

と開くのをためらうような警告文が出てきています

しかし、我々にはバックアップがあるのです!

迷わずContinueをクリックしましょう!!

はい、更にポップアップが出てきました 汗

Auto Graphics APIのデフォルト設定の差異が検出されたようです

新しいデフォルト設定にするには

Player Settingsを開いてAuto Graphics APIを再有効化してください

とのことです・・・

よくわかっていませんが、もうここまで来たら突き進むしかありません!

confirmをクリックします!!

プロジェクトが立ち上がっています…

何事もなく開かれることを祈りましょう

もうここは天に祈るしかやることはありません

はい…残念ながら祈りは届きませんでした 笑

external-dependency-manager@1.2.155が見つからないため

エラーが発生しているようです…

これ、admobやっている人なら分かるかと思いますが

広告用のAdmobのpackageなんです

あまりに古すぎるバージョンのため新しいUnityエディタでは

使えなくなっちゃったみたいですね

ここについては結局、次に行う

Google Mobile Ads Unity Pluginの更新

で解決していく
ので今はエラーになっていても問題ないです!

潔くContinueをクリックいたしましょう!!

何回ポップアップ出てくるんねん…

簡単に言うとスクリプトが古いAPIを参照しているようで

そこを自動的に新しいAPIを参照するよう更新する?

って聞かれています

Noをクリックしちゃうと多分スクリプトがエラーになった状態で

プロジェクトが開かれると推測できるので

ここはYesを選びましょう!

イエス、高須クリニックにも以下2つの選択肢があります

①Yes,for these and other files that might be found later

②Yes,just for these files

②はポップアップに表示されている

Paddle.csとBall.csの2つのみ更新するということです

①は現在は上記2つのスクリプトが更新の必要があることが

分かっているけど、後々別のスクリプトも更新が必要なことが

見つかるかもしれないんだけど、それも更新しちゃう?

と言っています

私は必要なファイル全部更新してほしいので①をクリックいたします!

さらにプロジェクトの立ち上げが動き始めました!

祈りを捧げましょう!

やったー、開けました!

ただ一点だけ開いた瞬間、以下のようなポップアップが表示されました

要約すると古すぎて非推奨となったパッケージがプロジェクトに

含まれてるのでパッケージマネージャーを開いて確認しますか?

ということでした、こちらはパッケージマネージャーを開いて

対応したほうがよいかと思います。

私の場合、開いて確認したらVSCodeが古すぎるってことでした↓

なので、とりあえず削除(Removeをクリック)して対応しました!

プロジェクトを開けたので一旦はこれにてAPIレベルを上げるのは

完了です!
あとはビルドするだけですので。

Edit→project SettingsをクリックしてPlayerタブをクリック

IdentificationのTarget API LevelがAutomatic(highest installed)

となっていれば勝手に一番最新のAPIレベルを選択してくれるのでOKです!

Google Mobile Ads Unity Pluginを更新!

ではここからはadmobを最新化していきましょう!

最新のGoogle Moble Ads Unity Pluginを取得

まずは最新のGoogle Moble Ads Unity Pluginを取得しましょう

とりあえず以下admobのクイックスタートへ遷移しましょう↓

使ってみる  |  Unity  |  Google for Developers
Unity でアプリを開発している AdMob パブリッシャー向けのモバイル広告用 SDK です。

で画面の上部にある

Mobile Ads for Unity プラグインをインポートする

でGitHubからインポートタブを選び

.unitypackageのリンクをクリックしましょう

するとGoogle Mobile Ads Unity PluginのGitHubに遷移するので

画面下部のunitypackageをクリックしてダウンロードしましょう

これで最新のpackageが取得できました!

Mobile Ads for Unity プラグインをインポート

まずは古いMobile Ads for Unityプラグインを削除しましょ

概要でも紹介させていただいた以下記事様を参考にして↓

Google Mobile Ads Unity Plugin の更新 Vol.2 (2023年11月版)前編
本記事は、Unityの広告プラグイン、Google Mobile Ads Unity Plugin の更新作業について紹介しています(前編)。Unityエディタのバージョンは2021.3.24f1 ( LTS ) を対象にしています。
最初にexternal-dependency-managerを削除

私の場合だけかもしれませんが

プロジェクトを開く際にexternal-dependency-managerが見つからないと

エラーになっていたので、こちらをまずpackage manager上で削除します。

これがpackage manager上で残ったままだと後々悪さするので…

Window→Package Management→Package Managerをクリックして

Package Manager画面を表示します

赤くビックリマークがついている明らかにエラーとなっている

com.google.external-dependency-manager

を選んでRemoveをクリックして削除します!

Packageの物理削除

Assets配下の
①Pluginsフォルダと
②ExternalDependencyManagerフォルダ
 GoogleMobileAdsフォルダ
をこの順番で削除しましょう!

はい、削除完了です!

じゃぁインポート!

これはクイックスタートに記載されている通りにやればOKです

エクスプローラーが出てくるので取得したpackageを選択して開きましょう

するとImportされる一覧がばぁーっと表示されます

特になにも触らずにImportをクリックしましょう!

外部依存関係を含める

とその前にMobile Ads for Unity プラグインのインポートが完了したのですが

スクリプトでエラーが発生していました

調べたところ、原因を簡単にいうと

admob用のコードの書き方が古すぎてエラーになっている感じでした

後ほどちゃんと修正するのですが今はエラーとなっている箇所を

コメントアウトしてコンパイルエラーにならないようにしておきましょう!

私の場合インタースティシャル広告の実装部分がエラーになっていました↓

なのでエラーになっているところをとりあえずコメントアウトしました

エラーが出なくなったらまずは

admobのマニュアルの通り外部依存関係を含める手順をやっちゃいましょう

↓の内容ですね

Edit→Project SettingsをクリックしてProject Settingsを開きます

Player→Android settings→Publishing Settingsを開きます

・Custom Main Gradle Template
・Custom Gradle Properties Template
を選択します

んで
[Assets](アセット)> [External Dependency Manager](外部依存マネージャー)> [Android Resolver](Android リゾルバ) > [Resolve](解決)

を選択すると色々Admob用のファイルがプロジェクトに入ってくれるそうです

その通りしてみたらAndroid Dependenciesが

Resolution Succeededと表示されたので上手く取り込んでくれたみたいです!

AdMob アプリ ID を設定する

まず前提作業として対象のアプリIDを取得しましょう!

admobのサイトに行ってアプリ→すべてのアプリを表示をクリックします

で、出てきたアプリIDをコピーしましょう

その上でマニュアルの通り進めます

[Assets](アセット)> [Google Mobile Ads](Google モバイル広告)> [Settings](設定)を選択

Inspectorウィンドウが出てくるのでAndroidのところにコピーしたアプリIDを

貼り付けましょう!

スクリプトで出ていた広告表示のエラーを修正するぞ!

最後にエラーとなっていた箇所を修正しましょう!

私の場合、バナー広告とインタースティシャル広告がエラーになっていたので

バナーのマニュアルインタースティシャルのマニュアル

を参考に修正していきます!

ここはマニュアルを見れば大体わかると思うので一応私の場合の

修正箇所を以下に記載しておきます

バナーの修正箇所

修正前

AdRequest request = new AdRequest.Builder().Build();

修正後

AdRequest request = new AdRequest();

インタースティシャルの修正箇所

こちら全くやり方が変わっており、ほぼマニュアルの通りに修正したので

マニュアルを参照ください! m(_ _)m

これで完了!

はい、ここまででやっとエラーがなくなりました!

やったー!!

あとはビルドしてGoogle Consoleでアプリをリリースすれば完了です!

お疲れ様でした!

Image by Giani Gheorghe from Pixabay

タイトルとURLをコピーしました