ビビンコの方でこっそりスマホアプリを公開しています。スマホに搭載されたセンサーを使ってデータを取得し、Watson IoT Platformに送信するだけという実験的なアプリです。もともとは、IoTをテーマにした研修での体験向けに作ったものです。
Monacaを使って開発したので、Android向けとiOS向けの両方を、それぞれのマーケットで公開しています。研修で使うとなると、どちらかのデバイスに限定することができないので、両対応することにし、その開発をサクッと行うためにMonacaを使ったというわけですね・・・。
で、アプリを公開しているとGoogle Playからディベロッパー向けにこんなメールが届きまして。
2020 年 11 月 2 日以降に Google Play で配信しているアプリおよびゲームを更新する場合、Android 10(API レベル 29)以上をターゲットとすることが必須となりますので改めてご連絡いたします。APK をアップロードする際は、Google Play の対象 API レベルの要件を満たしている必要があります。2020 年 11 月 2 日以降、Google Play Console から targetSdkVersion が 29 未満である新規の App Bundle や APK は送信できなくなります。ただし、Wear OS アプリには API レベル 29 を必須とする要件は適用されません。また、Google Play ストアの既存の掲載情報には影響しません。
最新の API レベルをターゲットにするようアプリを設定することで、ユーザーのセキュリティとパフォーマンスを大きく改善し、また古い Android バージョンや下位の minSdkVersion でもアプリを動作させることができます。
重要: 対応が必要です
2020 年 11 月 2 日までにアプリのターゲットを Android 10(API レベル 29)以上に設定してください。アプリのターゲット API レベルを変更し、上記の要件を満たす方法はこちらの移行ガイドをご参照ください。
APIレベルを上げなさいよというわけです。上げないからいま公開されているアプリが公開停止になるというわけではないようですが、今後のリリースではAPIレベル29にしないといけないようです。
MonacaでAPIレベル29にする
Cordovaのバージョンが上がったりすると、MonacaでもプロジェクトのCordovaのバージョンアップが可能になります。Monacaで使用可能な最新のCordovaバージョンは9.0.0で、Androidプラットフォームは8.0.0。これだとAPIバージョンは28になります。これを、どうやってAPIバージョン29にするか。
こちらのディスカッションを見ると、どうやらconfig.xml
のandroid-targetSdkVersion
を変えるだけで良いようです。
具体的には、Monaca IDEでconfig.xml
を開き、このようにします。
<platform name="android">
<icon src="/res/android/icon/ldpi.png" density="ldpi"/>
<icon src="/res/android/icon/mdpi.png" density="mdpi"/>
<icon src="/res/android/icon/hdpi.png" density="hdpi"/>
<icon src="/res/android/icon/xhdpi.png" density="xhdpi"/>
<icon src="/res/android/icon/xxhdpi.png" density="xxhdpi"/>
<icon src="/res/android/icon/xxxhdpi.png" density="xxxhdpi"/>
<preference name="android-targetSdkVersion" value="29"/>
</platform>
最後のところのandroid-targetSdkVersion
のvalueを29
にすれば良いようです。
これでAndroidアプリのリリースビルドを行い、出来上がったapkファイルをGoogle Play Consoleの「アプリのリリース」画面でアップロードすると、対象SDKが29になっていることが分かります。
今回は新たな機能などはないので実施の審査依頼までは行いませんが、実際に機能追加などを行ってバージョンアップリリースを行う際も、とりあえずはこれで問題なさそうです。