Reputation: 2128
I have uploaded an App on Google Play Store. I able to download it in mobile phone but it is not available for Tablets. When i try to download it in Tablet its shows an error something like "This app is only design for phones"
Please help me.. what have i done wrong??
Here is my AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.AnTim.mediteam"
android:versionCode="3"
android:versionName="1.2" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<permission
android:name="com.AnTim.mediteam.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.AnTim.mediteam.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:name="com.AnTim.mediteam.Controller"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.AnTim.mediteam.MainActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.DELETE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="com.idrivecare.familypro" />
</intent-filter>
</activity>
<activity
android:name="com.AnTim.mediteam.Internet_connection"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Internet"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Preference"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.GuestMenu"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Privacy"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Terms"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Forgot_password"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Registration"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Sucessfull_register"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Patient_menu"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Web"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.AnTim.mediteam.Best_doctor"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.AnTim.mediteam" />
</intent-filter>
</receiver>
<service android:name="com.AnTim.mediteam.GCMIntentService" />
</application>
Upvotes: 2
Views: 1055
Reputation: 28238
I know I'm slightly late, but better late than never.
As suggested by @SauravGhimire it was the telephony access that broke compatibility.
This would be true if required = true
. However, your code specifies required = false:
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
This shows that the app uses telephony on compatible devices, and on devices that doesn't have telephony access, your app has something set up that doesn't use telephony on unsupported devices. This would mean you maintain support for tablets.
The screen sizes supported would help Google Play see that you have added support somehow for tablets. AFAIK, declaring that tag and not adding special layouts doesn't show designed for tablets, nor does it show designed for phones. This is the point where your app supports both phones and tablets, but isn't specifically designed to take advantage of the extra room on tablets.
As @Hans1984 said, you may not receive installs if your app gets a "designed for phones label".
Not sure how this worked in 2015, but now you can download apps even if they are designed for phones. The "designed for phones" tag is just a way that tablet users can be "warned" that this app may not be as good on a tablet as on a phone.
I have downloaded "designed for phone" apps on my tablet, and I have done it on android 5, 6 and 7 without any problems. Maybe some devices have a warning like that (or some don't). Could also be a problem with the custom permission you have (com.AnTim.mediteam.permission.C2D_MESSAGE
)
It is very hard to say why exactly you got the error, but you have done everything in the right way that should prevent the "designed for phones" label, and (assuming you don't have special tablet layouts) you will nto get the "designed for tablets" label either (the last label means it is also designed for tablets, that there is special support for it. There is also support for phones). Could be that an older version (beta/alpha/production (old version)) didn't support it and you tried to download too soon. Google Play needs a lot of time to process updates. Adding layouts for tablets is also a fix for this.
Upvotes: 0
Reputation: 568
Your app uses feature "android.hardware.telephony". If the tablet doesn't have the dialer and a data network the app will not be compatible in that device.
Upvotes: 2
Reputation: 794
According to this:
"Apps that don't include certain tablet enhancements will display a "designed for phones" tag on the tablet version of the Play Store, making users with tablets less likely to install them."
I guess this is the reason why you get this message. You probably didn't include those "tablet enhancements"
Upvotes: 5