画像付きで詳しく説明していきます!
概要については以下リンクで記載させていただきましたが
こちらの記事では実際に私がやった作業を記載していきます!
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のクイックスタートへ遷移しましょう↓

で画面の上部にある
Mobile Ads for Unity プラグインをインポートする
でGitHubからインポートタブを選び
.unitypackageのリンクをクリックしましょう

するとGoogle Mobile Ads Unity PluginのGitHubに遷移するので
画面下部のunitypackageをクリックしてダウンロードしましょう

これで最新のpackageが取得できました!
Mobile Ads for Unity プラグインをインポート
まずは古いMobile Ads for Unityプラグインを削除しましょ
概要でも紹介させていただいた以下記事様を参考にして↓

最初に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でアプリをリリースすれば完了です!
お疲れ様でした!
