Android: Some apps are not available for Tablets on Google Play? - android

Since it came out the new developer console and the new PlayStore I have some problems like the one mentioned in the topic.
Lately my app is not visible from the tablets even if it was before.
But the console tells me:
Supported Devices: 2665
Excluded Devices: 0
So I have to think that there is no problem, but why this app is not available when you try to search it on PlayStore from tablets?
As suggested on the forums I put the following code in the manifest:
<supports-screens
android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
Is there a safe way to support all tablets without exceptions?

Make sure your uses-sdk includes the android:targetSdkVersion with a value of 11 or higher.
Seems Google added this criteria (without telling anyone directly) when they release the new version of Google Play.
The Tablet App Quality Checklist under 8. Target Android versions properly
now states that
a. targetSdkVersion is declared with value 11 or higher (14 or higher is recommended)
It seems that this only applies to updates/new-releases as previous apps which lack this seems unaffected. The Developer Console also doesn't seem to be "aware" of this requirement as it clearly states xlarge devices as supported.

Related

How to make google play filter my app for tablets

I have an app and I want to upload it on google play. But the only thing I want is to disable it for tablets, I mean what I need to write in manifest, that google play could filter my app for tablets in search results. E.g when we wrote <uses-feature> camera in our manifest, google play shows our app only on devices, that has camera feature. So the similar thing I want is not to show my app for tablets. So what I can write in manifest file, that google doesn't show my app in search results on tablets.
I've tried something like this, but when I uploaded it to google play, in available devices section I saw, that my app is available for tablets too.
<supports-screens
android:largeScreens="false"
android:largestWidthLimitDp="600"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="false" />

Are the Android manifest device-filtering options broken or am I missing something?

I was trying to prevent users from downloading my app on devices that are clearly incapable of running it (it's a Unity3D game), and figured I'd use android:glEsVersion and screen size as a filter to get rid of the worst of them.
With the following two lines in my manifest, Google Play filters my list of compatible devices down to (a surprisingly low) 905 valid devices:
<supports-screens android:smallScreens="false" android:normalScreens="false" android:largeScreens="true" android:xlargeScreens="true" />
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
(Without them, I get 4489 valid devices)
One of the devices that gets removed is my own Nexus 5, but it has OpenGLES 3.0 support and a resolution way above the definition for "largeScreen", so it makes no sense to me at all.
Does anyone have any idea what's going on? GooglePlay does not say why a given device is excluded, so it's kind of hard to backtrace.
I don't think that will work, but did you try to add
android:anyDensity="true"
But in https://developer.android.com/guide/topics/graphics/opengl.html#manifest we can see :
If your application uses OpenGL features that are not available on all devices

Restrict app to be installed on android tablets and kindle devices only

Until now I was restricting my app to only run on tablets by having something like this in the manifest file:
<supports-screens
android:largeScreens="true"
android:normalScreens="false"
android:requiresSmallestWidthDp="600"
android:smallScreens="false"
android:xlargeScreens="true" />
I am preparing to launch on Amazon Fire for the first time and because of the following restriction: "requiresSmallestWidthDp="600", many users will be affected as the app cannot be installed on this device. I am getting the following error message: "android:requiresSmallestWidthDp = '600'; device requires '527'".
As the Fire 2015 is the most popular tablet, I would really like to allow the app to be installed on it, but at the same time I don't want my app to be installed on phones. Any suggestion on how to achieving this?
There is no clear technical distinction between a tablet and a phone, so if you really need to filter out non-tablets, you need to resort to other filters. If it's about your app's UI, the support-screens and compatible-screens are your best bets. Just remember that some phones have a higher screen resolution than some tablets.

Android App for Tablets still showing "Designed for Phones"

I published an app (http://bit.ly/1GfKsNG) which is meant to be for tablets only.
The AndroidManifest.xml is adjusted in the way:
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="21"/>
<supports-screens
android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="false"
android:smallScreens="false"/>
and in Google Play, I also only added tablets screenshots (7" and 10") and no smartphone screenshots for the app. Still, the app shows "Designed for Phones" in the Play store.
My res/ folder structure looks like this:
/drawable-hdpi
/drawable-ldpi
/drawable-mdpi
/drawable-xhdpi
/drawable-xxhdpi
/layout
/menu
/values
I already checked related questions:
apk update for tablet, still says "Designed for phones" -> checked! I have the AndroidManifest.xml like this already
My app disappeared from "tablet" google play but still available for phone -> checked! I have the support-screens tag already
So the question is, what's the remaining part that I have overlooked to make the app "Designed for Tablets".
What is also strange is that the Google Play store shows no pending optimization tips for tablet optimisation but tells me that tablet optimisation is already finished (by promoting the app from Alpha test status to production).
You can request a manual review according to this article. Specifically, it states:
If the Optimization Tips page lists "To Do" issues that you feel don't apply to your app or affect its quality on tablets, please notify us using the Designed for Tablets Contact Form. We will review your app and update your Optimization Tips page as appropriate.
I also had the same problem a few months ago, so I used the contact form to request a manual review. They responded pretty quickly and told me that my app was in fact "designed for tablets".
you can also limit the smallest supported screen size by adding the following line:
<supports-screens
android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="false"
android:smallScreens="false"
android:requiresSmallestWidthDp="600"
/>
Don't forget to put some tablet screens for Google Play app description.

How to make android app available for both tablets and pre 11 sdk?

Update: Adding this to manifest solved it:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14"/>
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true"/>
Looks like google silently stopped listing newly submitted apps in tablet market that don't meet their "optimization tips".
One of those "tips" is setting minSdkVersion="11", which means losing 40% of their whole userbase who still run sdk 10 (hilarious).
Can someone please suggest the least painful solution that would let me target both pre 11 SDK users and tablets, preferably without getting into multiple APK business.
If multiple APK is the way to go, then what is the best criteria to separate users on, so I can have a single version code at least.
(the app is fully compatible with all screen sizes and densities, currently targets minSdkVersion="8")
You are reading it wrong..
At a minimum, check the element to make sure that:
targetSdkVersion is declared with value 11 or higher (14 or higher is
recommended), OR minSdkVersion is declared with value 11 or
higher.
I put 'or' in bold to make sure you read it...It was already in upper case, but was not enough ;-)
Use targetSdkVersion to 17 and Support library as other people said.
Use the Android Support Library provided by Google. You can download it through the SDK manager. It requires a few changes to existing code (like using getSupportFragmentManager() instead of getFragmentManager(), but it works just fine.
Looks like google silently stopped listing newly submitted apps in tablet market that don't meet their "optimization tips".
I'd be interested to know of any proof you have which supports that statement.
One of those "tips" is setting minSdkVersion="11"
That is partially correct. Quoting the Target Android versions properly section which you linked to in your comment to Waza_Be ...
At a minimum, check the element to make sure that:
a. targetSdkVersion is declared with value 11 or higher (14 or higher is recommended), OR
b. minSdkVersion is declared with value 11 or higher.
c. If a maxSdkVersion attribute is declared, it must have a value of 11 or higher. Note that, in general, the use of maxSdkVersion is not recommended.
Note at the end of 'a' there is the word OR in capitals making 'b' unnecessary if 'a' is true (and we all know we can ignore 'c').
You need to use the support library which has most of the functionality (if not more) of all sdk's > 11
The support library can be used on any device 2.2 and up
Google play is a unified market place for both phones and tablets. When a device visits the Google Play, it reports api version and capabilities (hardware), so the market only shows apps matching the provided criteria. If your app is not compatible with a device it will not show up.
Up to version 2.x (api 10) the same code was used for both tablets and phones. Then version 3.x (api 11-13) was just for tablets and then version 4.x (api 14) was again unified.
So we have 2.x tablets, 3.x tablets and 4.x tablets. Use minSdkVersion to declare up to which version your app supports.

Categories

Resources