2017年に向けてせめてminSdkVersionを14以上にしたい人たちに送る「材料」の見つけ方

## はじめに

みなさん！2016年も残すところ1ヶ月を切りました！

人間、年が明けると気持ちを一新したくなるものですが、できるなら自分たちの心意気と同様に、関わっているプロジェクトのminSdkVersionも一新（変更）したいことでしょう。

特に現在、Google側でもやんわりとサポートAPIの最小が14辺りになりつつあります。API14といえばAndroid 4.0.0から4.0.2。本来ならAPI15（4.0.3）とか16（4.1）ぐらいまでは上げたいところですが、単にPO（プロジェクトorプロダクト・オーナー、以下オーナー）にminSdkVersion上げたい！と言うだけで上がるなら、とっくに上がっているはずです。もし簡単に上がる環境にいるのなら、さっさと言いましょう！

おそらく、客観的に「１４以上にしても大丈夫だな」と判断できるような「材料」を用意する必要があるんじゃないでしょうか。

というわけで、2016年11月末時点の情報からminSdkVersionを14以上に上げるために「材料」として提出したいアレコレをまとめてみました。

## 材料のアレコレ

### Google Play Developer Consoleで現在のアプリのアクティブなOSシェアを使う

minSdkVersionを上げるためには、それより下に位置するOSのシェアが現在いかに少ないかを訴えるのが一番です。

現在Google Play Developer Consoleの統計情報では、過去30日に１回以上オンラインになった端末のみを対象とした「アクティブなインストール端末数」というものが登場しています。これまでと違って、もはや端末ごと使われなくなったと思われる端末（ややこしい）を除外するようになったことで、より「現在の自身のアプリのOSシェア」が見れるようになっています。

<img width="976" alt="スクリーンショット_2016-11-30_17_13_45.png" src="https://qiita-image-store.s3.amazonaws.com/0/4560/fbf55109-0bc5-fc64-6ec3-86c64ceeee02.png">

参考としてプライベートで提供している『[AAびゅーわ](https://play.google.com/store/apps/details?id=jp.yamaglo.aaviewer&hl=ja)』のOSシェア。もはや4.0.4を含めてAPI14以下のユーザーは2%もいません。

なお、後述しますがこのシェアはGoogle Play Servicesを利用しているようなので、近々OS 4.0以下の集計がされなくなる可能性があります。ですのでオーナーに訴えかけるためにも、いまのうちにキャプチャはとっておきましょう。~~逆に過ぎてから「もう4.0以下のユーザーいませんよ！」と訴えるのも一つの手です。~~

### Google Analyticsで自社サービスのOSシェアを使う

他にも、例えば自社で提供しているWebサービスのGoogle Analyticsに接続しているAndroidのOSシェアを見てみましょう。

すでにユニバーサルアナリティクスの移行期間は過ぎているはずなので、どのウェブサイトのアナリティクスでも「ユーザー＞モバイル＞デバイス＞（折れ線グラフ下部に出てくる）オペレーティングシステム」を選択することで、アプリを利用している端末のOSシェアを見ることができるようになっているはずです。

<img width="1086" alt="スクリーンショット 2016-11-30 17.26.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/4560/a5ae33c7-3dfc-fd4c-bdb7-6aa09e918586.png">

自分のQiita関連の記事のGAです。GAがサポートしてないんじゃないかと不安になるような２系と３系がない結果となっていますね…。
しかしより対象のアプリとターゲットが親しいWeb側のOSシェアを提供することで、より「判断」をしてもらいやすくなるのではないでしょうか。

### Googleが公式で提供しているOSシェアを使う

さらにさらにOSシェアの資料として、Googleが公式で提供している資料があります。

[Dashboards | Android Developers](https://developer.android.com/about/dashboards/index.html "Dashboards | Android Developers")

全世界のアクセスベースで作られていることもあるので「国内とはまた事情がちょっと違うでしょ…？」と言われるかもしれませんが、上に掲載したGoogle Play Developer Consoleのグラフと大きく乖離しているわけでもありませんし、なによりどちらも **OS4.0以下は数％以下です**。

なおこのページはログとして残らず、毎月更新されるという点があるので注意してください。

他にもグローバルなレベルでのOSシェアはサードパーティが提供しているものもありますので、そういったところからも「材料」として提出することも一つの手だと思います。

### 直近で販売されているAndroid端末のデフォルトOSを確認する

当たり前の話ですが、該当の端末が生産されていなければ、OSのシェアは増えません。むしろ減ります。
中古端末の市場が活性化しているなら多少は変わるのでしょうが、そんな話は聞きません。

というわけで、直近で発売されているAndroid端末の搭載OSはスマートフォンデータベースで調べることができます。国内販売端末限定です。

[国内スマホ536機種を比較 | スマートフォン・データベース](http://smartphone.ultra-zone.net/ "国内スマホ536機種を比較 | スマートフォン・データベース")

発売日をいろいろ触りながら調べてもらえればわかりますが、今年の春モデル移行からはAndroid 6.0以上の端末しか発売されていません。そのため、国内のOSシェアは今後もAndroid 6.0以上の端末が増え続けることが容易に推測できますし、4.x系は絶対に増えないことも読み取れます。

### Google Play Servicesの最小サポートがAPI14に切り替わる

技術的・機能的な部分での訴えでいうならば、つい最近Googleから「次期バージョン（v10.2.0）ではGoogle Play Servicesの最小サポートがAPI14以上になる」と告知がされています。

[Google Play services and Firebase for Android will support API level 14 at minimum](http://android-developers.blogspot.com/2016/11/google-play-services-and-firebase-for-android-will-support-api-level-14-at-minimum.html)

Google Play Servicesといえば、Google Analyticsを始めとしてFirebase、GCM（プッシュ通知）、課金関連の処理など、Androidの多くの機能に密接したライブラリ（サービス）です。それゆえに、これに頼らずにユーザーライクなアプリを提供することは、エンジニアならどれだけ辛いことかは言わずもがな、どれだけ必死にオーナーに提案する必要もあるかも言わずもがな、というところでしょう。


## おわりに

そんなこんなで５つ程、minSdkVersionを14以上に上げる訴えをするときに使えそうな材料を挙げてみました。とはいえ結局はオーナーに対し、どれだけ私達が「変更が必要であるか」を強く訴えつつ材料を提示するかにかかっているところがあります。

こうした訴え、社会人に限らず集団でプロダクトを進めていく上では避けて通れない話じゃないかなあと思いますし、こうした訴えや提案をキチンとやることもエンジニアの務めだと私は思っています。
諦めず来年から気持ちよくアプリ改修に取り組めるよう、交渉がんばってください！

他にも「こういう部分から提案かけると有効だよ」という情報もお待ちしています。