アプリの最小APIレベルをいくつにするか悩みどころ・・・
Androidアプリを開発する上で、最小のAPIレベルをいくつににするかは悩みどころです。
マニフェストのminSdkVersionは、アプリがユーザデバイス(ユーザが持っているAndroid端末)に要求する最小のAPIレベルを設定します。
アプリの最小のAPIレベル(minSdkVersion)とユーザデバイスのAPIレベルの関係、そしてそれによるマーケットの挙動がどうなるのか、意外と知らない方も多いのではないでしょうか?
ここでは要点を掻い摘んで説明します。
アプリの最小のAPIレベルとユーザデバイスAPIレベルによるマーケットの挙動
ユーザデバイスAPIレベル<アプリが要求する最小APIレベル(minSdkVersion)の場合
この場合、Android マーケットはユーザにアプリを表示しません。
アプリのアップデートにより、この状態になった場合も同様です。
minSdkVersionを設定しなかった場合
Androidマーケットはアプリの最小APIレベルを1と認識します。つまり、全ての端末で互換性があると判定し、全てのユーザにアプリを表示します。
もし、アプリがAPIレベル3を導入していて、ユーザデバイスのAPIレベルが2の場合、アプリは実行時にクラッシュします。
minSdkVersionは必ず設定しましょう。
Androidマーケットフィルタ
Android マーケットでアプリを見せる見せないを制御する仕組みを、マーケットフィルタと呼びます。
このページでは詳細を省きましたが、「Android マーケットフィルタ」で検索すると、もっと詳しい内容も知ることができるでしょう。
結論 ではどうしたらいいの?
minSdkVersionは必ず設定する
minSdkVersionが無いと、マーケットは勝手に1と判断してしまいます。
クラッシュの要因になりますので、必ず設定しましょう。
minSdkVersionはできるだけ小さい設定する
minSdkVersionのその名の通り、minSdkVersionにはアプリが要求する最小レベルを設定しましょう。
実際にアプリが導入している最小APIレベルと違いがある場合は、マニフェストファイルに警告が出ますので、見逃さないようにしてください。
Androidバージョンの分布を見て、導入するAPIレベルを決める
高いAPIレベルで開発したいけれども、そのバージョンを持っているユーザの数が気になります。
新規開発の際は、Android公式が発表しているAndroidバージョンの分布が参考になります。
Platform Versions
ただ、新規開発の場合は、いずれそのバージョンに市場が追いついてくるので、あまり気にしなくても良いでしょう。
既存アプリのアップデートの場合は、デベロッパーコンソールの統計情報も役立ちます。
そのアプリをインストールしているAndroidバージョンの分布が見て取れます。
アップデートの場合は、APIレベルを上げるとAPIレベルに満たないユーザは、マーケットで今まで見えていたそのアプリが見えなくなります。
だからクラッシュの可能性は無くなるのですが、更新も無くなります。
急激なAPIレベルの上昇は、ユーザ数が減少する要因になり得ますので、気をつけましょう。