2023年12月15日

Android開発(OSバージョン対応について)

目次

Contents

◆はじめに

前回は「スマートフォンアプリ開発とは~Android開発編~」にてAndroid開発の基本的な部分を書かせていただきました。
繰り返しとなりますが、主に以下のようなアプリ開発に携わっておりました。
・カレンダーアプリ
・Bluetoothでデバイスを操作するアプリ
・業務支援アプリケーション
・決済支援アプリケーション

アプリについては開発を完了しリリースしたらそこで終了ではありません。
運用をしていく中で新しい機能の追加であったり、不具合修正や速度改善などアプリ自体の改善をするケースも多いですが、スマートフォンアプリを開発するうえではOSのバージョンアップに対応する必要もあります。
今回はそちらについて書いてみます。

◆なぜAndroidOSバージョンアップ対応が必要か?

Android OSは毎年、新しいバージョンが出ています。
2023年12月現在はAndroid 14が最新です。
新しいバージョンが出ると新しい機能やAPI追加されたり動作についても変更がありますが、
今まで使えていたものがバージョンアップ対応しないと使えなくなったり、動作しないといったことがあります。

また、バージョンアップ対応をせずtargetSdkVersionが低いままだとGoogle Playに表示されなくなります。
※Google Play非表示についてはこちら

また、スマートフォンもAndroidの場合は半期に1度新作が登場します。新しいスマートフォンはOSバージョンが最新のものが多いため、ユーザーの買い替えによりOSのシェアも新しいものが徐々に大きくなっていきます。

AndroidOSバージョンアップ対応をしてきた中で対応が多かったものについて以下にまとめてみます。

◆パーミッション(権限)についての変更

バージョンアップのたびに何かしらパーミッションについては変更がある印象です。
過去に変更があった例は以下の通りです。
・Android6
許可ダイアログの表示が必要になった。
それ以前はアプリインストール時の確認だったのでバージョンアップ対応が大変だった記憶があります。
Android7~10の間も変更はありましたが省略します。

・Android 11
一回限りのパーミッション:アプリが位置情報、マイク、カメラに関連するパーミッションを要求するとき一回限りが表示されるようになった。
未使用アプリからの自動リセットパーミッション:使用されてないとパーミッションがクリアされるようになった。

・Android 12
位置情報で「おおよそ」が選択できる:「おおよそ」が選択されるとLocationManagerがコールされないなどFusedLocationProviderClientへの切り替えも検討しないといけませんでした。

・Android 13
POST_NOTIFICATIONSの導入:通知に関してのパーミッションが追加されました。

◆バッテリーやバックグラウンドの制御

Doze モードが導入されたり、バックグラウンドでの処理が制限されたり(位置情報などはフォアグラウンドへの移行)などアプリが使われていないときの処理については、バッテリーやプライバシー保護の観点でも影響があり、今後もより制限されると思います。

◆ライブラリーなどが古くなる

昔はAndroid Support Libraryを使って様々な処理等を行っていたのですが、現在ではAndroidX(Jetpack)を使用することをお勧めされています。
OSバージョンアップした際の新しい機能だとAndroid Support Libraryでは対応できない場合があるので、いずれAndroidXへの移行が必要でしょう。
AndroidXへの切り替えは影響範囲も大きく大変ですが、切り替えができた場合は当面はバージョンアップ対応としては大きな作業はないと思います。

◆最後に

以上が私のAndroid開発におけるOSバージョンアップ対応の経験です。アプリを長く使ってもらうためには、保守やバージョンアップ対応が必要になります。特に上記で記載したものが影響の大きかったものかなと思います。
業務用のアプリをネイティブアプリで開発した場合、細かな要望にも対応できとても便利となりますが、反面バージョンアップ対応がほぼ永続的に必要となります。また、動作環境以外にも、ご要望による機能追加/変更もあり、運用保守計画は欠かせないものとなります。
STOREには様々なアプリがありますが、中にはユーザーレビューがとても悪いまま放置されているアプリも散見されます。
アプリ開発にはそれなりの期間とコストを必要とするものです。どのようなアプリでも上流工程では沢山の要望があり、コストや技術的制約、納期のしのぎ合いで、ようやく固まった要件を基に我々で形にしていきリリースされますが、そうやって出来たアプリが必ずしも利用者にとって満足のいく結果でない場合も発生するのです。
冒頭で述べたとおり、アプリは開発して終わりではありません。
環境の更新に伴う対応、利用者が触れてみた結果の要望対応等など、継続的に更新/改善を続けてこそ長く利用され、利用者の満足度の高いアプリになっていくと考えています。
これからもユーザーにとって最高の体験を提供するために、日々学び続けていきたいと思います。

業務系スマホアプリの開発でお悩みがありましたら是非一度ご相談ください。

記事 : S.N

「再春館システム システムインテグレーション」はこちら