简体   繁体   中英

App is not listed in Google play store for tablet devices

Have published the app on the google play store. Able to download and install on android phones. But the app is not at all listed in Play store for tablet devices. i suspect there is something wrong in my manifest file. contents of the manifest file are

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:xlargeScreens="true" 
    android:smallScreens="true" />



<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Please guide me with the changes which i have to make so that the app gets listed on Play Store for Tablet devices. thanks in advance

I belive the key is in your permissions. By saying that your app uses RECEIVE_SMS and READ_PHONE_STATE Google Play uses that to filter out devices that can't do those things (tablets) because it thinks that your app needs to use those permissions in order to work. According to the android developer site:

To prevent those apps from being made available unintentionally, Google Play assumes that certain hardware-related permissions indicate that the underlying hardware features are required by default. For instance, applications that use Bluetooth must request the BLUETOOTH permission in a element — for legacy apps, Google Play assumes that the permission declaration means that the underlying android.hardware.bluetooth feature is required by the application and sets up filtering based on that feature.

Also, look at this:

Telephony CALL_PHONE android.hardware.telephony CALL_PRIVILEGED android.hardware.telephony MODIFY_PHONE_STATE android.hardware.telephony PROCESS_OUTGOING_CALLS android.hardware.telephony READ_SMS android.hardware.telephony RECEIVE_SMS android.hardware.telephony RECEIVE_MMS android.hardware.telephony RECEIVE_WAP_PUSH android.hardware.telephony SEND_SMS android.hardware.telephony WRITE_APN_SETTINGS android.hardware.telephony WRITE_SMS android.hardware.telephony

You have RECEIVE_SMS and READ_PHONE_STATE so you automatically have android.hardware.telephony . You can fix this by doing

<uses-feature android:name="android.hardware.telephony" android:required="false" />

All of this is explained in more depth here .

There are two reason, I know, why my app doesn't be shown on Play Store.

  1. The device's OS version is lower than you specified using "minsdkversion" on Androidmanifest.xml.
  2. Permission things. If you declared permissions of Phone Call, Camera etc, and Tablet that not have those hardware, Users cannot find my app on Google Play Store for their device.

So, We should add some code to Androidmanifast.xml like below.

<uses-feature
    android:name="android.hardware.telephony"
    android:required="false" >
</uses-feature>

For more informations, check this Q/A . , this document and this .

After @Lal's answer i did a simple test. I added the permissions below and upload a simple apk. Manifest is like below.

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="com.fingerprints.service.ACCESS_FINGERPRINT_MANAGER" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
    <uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <uses-feature android:name="android.hardware.telephony" android:required="false" />

I uploaded app to play store and i can install for tablet. Then i removed

<uses-feature android:name="android.hardware.telephony" android:required="false" />

and tried to update play store app and there was a warning that tablets cant download after this update. I took screenshot, may be some one can need this.

在此处输入图片说明

and this is details.

在此处输入图片说明

After published update, i could not install for tablet.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM