Unity Hub内でインストールできる2022.3では対応難しい。
2022.3.40f1で、API level 34を選択すると、もっと大きいバージョンをインストールしようとしてバグります。
がんばればどうにかいけるようだけど、この問題はこのあとのバージョンで改善された模様。
Unity 2023以降は、LTSとはなっていなくて、Webサイトからインストールしないといけないようだ。LTSは、Long-Term Supportとして安定版の意味合い。
android api 34以降に対応するには、Unity 2023以降が必須。
UnityのWebサイトから2023をインストールする。
Unity ダウンロードアーカイブ
2023の最終版 2023.2.20f1 をインストール。インストール後はUnity Hub内で扱える。
対象プロジェクトをバックアップ後、EDITOR VERSIONを上げる。
2022→2023に上げたプロジェクトは、Deprecatedになっていたパッケージ(Visual Studio Editor)をひとつRemoveしたくらいで、とくに問題はなかった。
Android API level 34にする
Player SettingsのTarget API Levelを34に。
ここで指定しているMinimum APIは現状のAdMobの最低Levelなので、その他利用しているSDK、実機で確認できるかにもよります。
実機を繋げてBuild And Runをすると、ダイアログが出る。
Update Android SDKを選択すると自動的にSDKがインストールされる。
2022→2023に上げた直後だからか、これだけでは実機インストールに失敗します。
こういう時はPublishing SettingsのBuildのチェックボックスをつけ直すと、うまくいく場合がよくあります。
Assets/Plugins/Androidに、DISABLEDのファイルがあれば最初に削除。
Publishing SettingsのBuild、一番上のMain Manifest以外のチェックボックスを外します。
その後、開いているプロジェクトウィンドウを選択すると Gradle templetesを有効にするかのダイアログが表示される。
Enableを選択すると、必要な箇所が自動選択されます。
もしGradleの内容を自分でカスタムしていた場合は、その内容も追記する必要はあります。
これでビルド通ります。きっと。
AdMob広告を利用するプロジェクトでは、Custom Main Manifestにし、AD_IDのパーミッションの追記がいるはずです。
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> 〜〜〜