targetSdkVersion を明示しないと、Google Play がタブレット端末を除外してしまう模様
これまで、普通にAndroidタブレットの Google Play 上に表示されていたアプリが、最近になって非対応とみなされダウンロードできなくなる現象が出ています。どうも 5月中旬くらいに Google Play 側のロジックが変わった模様です。アプリ開発者は要注意。
具体的には、クックパッドやヤフオク、NAVITIME、LINEバブルなどが表示されなくなっています。
タブレットといっても、7インチの Nexus 7 などは問題ありません。Nenus 10、Sony Tablet S、LifeTouch L などのいわゆる xlarge なデバイスのみが対象です。
いろいろ条件を調べたのですが、スクリーンサイズでフィルタがかかっているようで、以下の条件をすべて満たしてしまうと表示されないようです。
- AndroidManifest.xml に targetSdkVersion が指定されておらず minSdkVersion が 8 以下、もしくは targetSdkVersion が明示されているが 8 以下。
- AndroidManifest.xml に <supports-screens> が指定されていない、または指定されているが android:xlargeScreens が true に設定されていない。
- 5月中旬(?)以降に Google Play で公開またはアップデートされている。
<supports-screens> の anroid:xlargeScreens 属性は、無指定の場合は暗黙に true とみなされるようになっています。しかし、この属性は API level 9 で追加されたものなので、API level 8 の時点では存在していません。どうも、targetSdkVersion が 8 以下の場合、最近までは xlargeScreens を true とみなしていたのが、5月中旬くらいから false とみなすように変更されたのではないかと思います。
なぜ、5月中旬くらいからかというと、それより前に公開されているアプリは 1. 2. の条件を満たしていても、xlarge デバイスの Google Play に表示されるケースがあるからです。
回避方法ですが、targetSdkVersion を 9以上にあげれば良いはずです。<supports-screens> の android:xlargeScreens も明示的に true にするのが推奨。
なお、Google のタブレット対応のガイドラインでは targetSdkVersion を 14 以上にすることになっています。ただし、targetSdkVersion を 11 以上に上げると、いわゆる互換メニュー(ステータスバーに出るメニューボタン)が出なくなるので要注意。ActionBar 使ってるアプリは関係ないので、心置きなく 14 以上にあげて OK なはずです。