Open3
【Flutter】AndroidのtargetSdkVersionを33に上げる(android13対応)時の注意

発端としては、以下のようなエラーがPlayConsoleへのデプロイ時に出たことから
{
"code": 403,
"errors": [
{
"domain": "global",
"message": "Target SDK of artifact is too low: 〜.",
"reason": "forbidden"
}
],
"message": "Target SDK of artifact is too low: 〜.",
"status": "PERMISSION_DENIED"
}
android/app/build.gradleにて
targetSdkVersion 33
を設定

次に以下のエラーが発生
{
"code": 400,
"errors": [
{
"domain": "global",
"message": "Your app targets Android 13 (API 33) or above. You must declare the use of advertising ID in Play Console.",
"reason": "badRequest"
}
],
"message": "Your app targets Android 13 (API 33) or above. You must declare the use of advertising ID in Play Console.",
"status": "INVALID_ARGUMENT"
}
Android13から広告IDについての宣言をする必要がありました。
私が対応しているアプリは広告を表示しないため、PlayConsoleで広告IDを使用しない設定としました。

ただこれでは終わりませんでした。
{
"code": 400,
"errors": [
{
"domain": "global",
"message": "This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration.",
"reason": "badRequest"
}
],
"message": "This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration.",
"status": "INVALID_ARGUMENT"
}
「広告ID使うための許可が必要とアプリのリリースで宣言しているのに、PlayConsoleでは使わないって設定してるよ」と言われました。
心当たりがないのですが、こちらの記事に詳細が載っていました。
結論としてはFirebase Analyticsを使用している場合(私の対応アプリで使用していました)はcom.google.android.gms.permission.AD_ID
が含まれるので、Play Consoleの該当アプリで(左のメニュー)アプリのコンテンツ > 広告ID > 「はい」を選択 > 「分析」にチェックをつけて更新
という手順を踏むことで解決するとのことでした。
これで無事にデプロイすることができました。
同じようなエラーで悩んでいる方がいましたら、参考になれば嬉しいです。