为什么应用商店里搜索不到你的App?

最近连续有国外的客户报告在某些特定的Android设备上搜索不到我们的应用。一开始怀疑uses-feature的设置排除了硬件不支持的设备。我们在manifest里有以下设置:

<uses-feature android:glEsVersion="0x00020000" ></uses-feature>

该设置会排除不支持OpenGL ES 2.0的设备,但是客户报告的设备 Sony Xperia Tablet Z是支持OpenGL ES 2.0的。需要注意的是,据《 Beginning Android Games》一书所说,这个东西,有时候不灵(感谢 这篇博客)。

NOTE: This feature is reported incorrectly by some devices out there, making your application invisible to otherwise perfectly fine devices. Use it with caution.

更稳妥的做法是设置required为false。这表示不支持OpenGL ES 2.0的设备也可以搜索到App并安装,但是需要在代码里判断做一些该做的事。

<uses-feature android:glEsVersion="0x00020000" required="false"></uses-feature>

排除这个,继续找原因。manifest里还有一些permission,有些permission需要硬件权限,即,其隐含了uses-feature,也会排除一些不支持该feature的设备。检查我们App的设置,有如下两项。

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

PROCESS_OUTGOING_CALLS需要android.hardware.telephony,就是说等同于设置了“android.hardware.telephony”的uses-feature,不支持电话功能的tablet,无法在应用商店里搜索到该应用。测试一下这个猜测,在ASUS TF101(没有电话功能)上的Google Play搜索,搜不到我们App,在Samsung Nexus S手机上的Google Play搜索同样的关键词,可以搜到我们的App。感谢 这篇博客

posted @ 2013-06-05 21:24  爱生活,爱编程  阅读(1236)  评论(0编辑  收藏  举报