Androidでの新規リリースとアップデート対応

12 min read読了の目安(約11500字

はじめに

この資料では、Androidでの新規リリースやアップデートなどで発生する(発生した)必要な対応の内容をまとめます。

アプリケーションやゲームのコンテンツに対するアップデートだけではストアでリリースできなくなります。
毎年発生する対応(APIレベル)と新しい機能対応(課金など)が必要になります。オフィシャル情報をチェックしてスケジュールに組み込みスムーズにリリースできるようにしましょう。

ターゲットはAndroidネイティブアプリ向けではなくUnityゲーム開発向けになります。[1]

関連

オフィシャル

今後のAndroidとGoogle Playの期限」を確認すると、いつまでにどんな対応が必要を把握できるようになりました。[2]対応内容は内容により作業量が大きく変わるため、内容を確認して対応スケジュールを決める必要があります。
定期的に「今後のAndroidとGoogle Playの期限」と「Android Developers Blog」を確認して対応項目が増えていないか確認しましょう。

毎年発生する対応

APIレベル

最新OSのメジャーアップデート後に、ひとつ前のOSのAPIレベル対応が必須になります。
たとえば、Android 11(APIレベル30)がリリースされた後に、Android 10(APIレベル29)対応が必須になります。[3]
概ね、新しいアプリリリースは8月。アプリアップデート11月に設定されています。[4]
また、APIレベルの設定を変えるだけでは対応できません。プライバシーやセキュリティーに対する対応が追加で発生します。

27以前

2018年のAndroid 8.0(APIレベル26)から毎年APIレベルを上げる対応が必須になりました。
APIレベルを上げないで回避できていました。必須対応になり、5.0から8.0までの変更点への対応をまとめて行う必要がありました。

また、16:9よりアスペクト比が縦長の18:9などの対応が必要になりました。 (画面サポートの制限の宣言)

APIレベル27はAndroid 8.1のため対応の必要はありませんでした。

参考資料

28対応

Android 9.0(APIレベル28)では、ターゲットAPIレベルを変更なしでも動作が変わるものと、変更すると影響する変更が出てきます。
プライバシーやセキュリティー関連のアクセスが厳格になり始めました。
TLS(HTTPS)のみ通信許可がデフォルトになりました。

29対応

Android 10(APIレベル29)では、GPSや外部ストレージアクセスなどプライバーシー関連対応が増えました。

30対応

Android 11(APIレベル30)では、位置情報、マイク、カメラへの一時的なアクセス権を1回だけアクセス許可や許可のオートリセット。位置情報関係のプライバーシー対応が強化されました。
また、APK署名スキームv2が必須になります。昔から運用しているものだとv1のみの可能性があります。最新のv3まで合わせて対応してしまった方が良いかもしれません。

APK署名スキーム参考資料

31?対応

Android 12(APIレベル31?)でも、引き続きプライバシーやセキュリティーに関する部分の対応強化が行われる。

新しい機能対応

課金

2021年8月2日より新規リリースのアプリでは最新のBilling Libraryバージョン3への対応が必要になります。2021年11月1日までにすべてのアプリが必須になります。[5]
In-app Billingの時もVersion3へのアップデートが必須対応になり。今後も新たな課金モジュールが出てきたところで入れ替えをする必要が出てくる可能性があります。

PUSH通知

Android Cloud to Device Messaging (C2DM) → Google Cloud Messaging (GCM) → Firebase Cloud Messaging(FCM)とシステムが入れ替わっています。
FCM対応が2018年なので直近での変更はないと思います。

Android System WebView

WebViewを使用するとクラッシュする問題がありました。修正はGoogleが新しいバージョンをリリースすることを待つ必要がありました。
必ず起動時などにWebViewを開くような実装だとアプリを使用できなくなるため。WebViewを開く前にスキップできる仕組みを入れるなど回避できる仕組みを作っておくと安全です。

Google Play Console

サイト

Play Consoleのデザインが変更されます。機能は残っているが、UIの配置が変わり、どこをどのように操作すれば良いかがわからなくなったりします。
アプリケーションアップデートの間に新しいページで必要な機能がどこにあるか確認しておきましょう。

審査

2019年の8月ごろ?からGoogleの審査が強化されました。アプリを送信後に審査期間が数時間から最長で7日程度かります。(場合によってはもっと長い)
そのため、スケジュールに審査期間を含めて決める必要があります。
ポリシーガイドラインを確認して違反がないことをチェックしましょう。

位置情報

バックグラウンドでの位置情報の取得は審査が厳しくなっています。対応が必要な内容を把握しておかないとリリースができなくなります。

プライバシー表記

iOSアプリのようにストアへプライバシー関連の表記が追加されます。
2021年夏に方針が発表され、2022年第2四半期頃までに対応が必須になるようです。

アイコン

新しい使用のアイコンを設定する必要があります。

メタデータ

メタデータのルールが更新されます。導入開始日は2021年中に発表される予定です。

「アプリのタイトルの長さを30文字以内に制限する」、「アイコンやタイトル、デベロッパー名に、Google Playストアでの実績を示唆するキーワードや宣伝を含めることを禁止する」、「ユーザーに誤解を与える可能性があるグラフィック要素をアプリアイコンから排除する」などメタデータポリシーが変わります。

「プレビュー アセットはアプリやゲームを的確に表しているか?」、「プレビュー アセットはユーザーがインストールするかどうか決める際に役立つ十分な情報を提供しているか?」、「プレビュー アセットが適切にPlayストアの地域に合わせて翻訳やローカライズがされており、読みやすくなっているか?」などストアに掲載するプレビュー アセットのガイドラインが変わります。

64bit対応

2019年8月1日以降から64ビットアーキテクチャのサポートが必須になっています。

拡張ファイル

2021年8月月以降にリリースするアプリは、Android App Bundle(AAB)が必須になります。OBB(APK 拡張ファイル)を使用できなくなり、Play Asset Deliveryを使用する必要があります。

まだ、すでにリリースされているアプリのアップデートでは必須となっていません。今後対応が必須になる可能性はあります。事前にPlay Asset Deliveryに関して調査して準備しておきましょう。

OBBではストアインストール時にで1GB×2個のファイルで計2GB使用できました。Play Asset Deliveryでは計2GBは変わりませんが、ストアインストール時に1GB、インストール後にダウンロード512MB、アプリ実行中512MBと取得タイミングや配置などが変わります。
そのため、新たに設計と実装を変更する必要が出てきます。

脚注
  1. ネイティブアプリでもそこまで大きく変わりませんが ↩︎

  2. 昔はGoogle I/OやDevelopers Blogを細かくチェックしないといけなかった。 ↩︎

  3. Google Play の対象 API レベルの要件を満たす  |  Android Developers ↩︎

  4. OSアップデートのリリース月で切り替わっているようす ↩︎

  5. 当初はAIDLやPlay Billing Library 1.xは2021年5月1日までに、Play Billing Library 2の対応必須だった。Google Play Billing: Required updates and new functionality (Android Dev Summit '19) - YouTubePlay Billing Library 2.x Mandatory by May 2021 : androiddevより) ↩︎