【Unity】Android13対応メモ
Unityで開発したAndroidアプリを Android11 → Android13 に上げた際の色々を備忘録的に書いておく
経緯
GooglePlay に公開した Androidアプリが「アプリの安定性」に関わるポリシー違反に該当するとのメールを受信、対象アプリの Firebase Crashlytics を確認したところ、Android12以上端末で起動するとクラッシュする
以下はクラッシュ時のログ
Fatal Exception: java.lang.IllegalArgumentException com.sample.app: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
対策
対象アプリを記事作成時点(2023年11月)で対応必須となっている Android 13 に上げます。
Project Settings 更新
Minimum API Level は 21 を設定
Target API Level は 33 を設定
Custom Main Manifest にチェック
Custom Main Gradle Template にチェック
Custom Gradle Properties Template にチェック
Assets/Plugins/Android/AndroidManifest.xml に以下を追加
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
Assets/Plugins/Android/mainTemplate.gradle の dependencies に以下を追加
implementation 'androidx.work:work-runtime-ktx:2.7.0'
Assets/Plugins/Android/gradleTemplate.properties に以下を追加
android.useAndroidX=true android.enableJetifier=true
その他
以下のエラーが出る場合、Assets/Firebase/Editorをこちらに置き換える
DllNotFoundException: Unable to load DLL 'FirebaseCppApp-6_15_2': The specified module could not be found.