Recently I received feedback from some customers stating they could not find my application on Google Play when searching from their Android tablets. The app, however, could be found on Google Play if searched from an Android phone. Interestingly, the APK that was used to upload the same application to Google Play could install and run on the customers’ tablets without issues.
I logged on to my Google Play developer console and immediately noticed an advisory in the screenshot section of the application:
Your APK does not seem to be designed for tablets
This is in spite of the fact that I have already uploaded tablet screenshots taken from another tablet for the app entry on Google Play. However, it turned out that simply uploading tablet screenshots is not enough as Google has a set of guidelines, available here, that developers should follow to make their application tablet-ready.
For those rushing to make their application available to tablet users from Google Play, the bad news is that it is not just a simple tweak on the developer console. You would actually need to modify AndroidManifest.xml to indicate tablet compatibilities and reupload the APK. The good news is that not all 12 criteria listed by Google on the Tablet App Quality are actually required for the app to show up on Google Play as a tablet app. In fact, during my testing, only the following are needed, at a minimum:
- Target Android Versions Properly – by setting correct values for targetSdkVersion and minSdkVersion
- Declare Hardware Feature Dependencies Properly – by setting appropriate values for uses-feature and uses-permission elements
- Declare Support for Tablet Screens – by setting correct values for supports-screens element
- Showcase Your Tablet UI in Google Play – simply by uploading at least two tablet screenshots, one for 7-inch devices and one for 10-inch devices
With the above changes, the error message when uploading my APK now changed to:
Your layout should make use of the available space on 7-inch tablets
Your layout should make use of the available space on 10-inch tablets
Unfortunately Google Play did not provide much useful information for these errors:
A search on Google for these errors returned no conclusive results. Some replies suspected that Google Play analyzes the APK looking for design elements specific to tablets (e.g. looking for layout folder with names layout-sw600dp, layout-sw600dp-land, layout-sw720dp, layout-sw720dp-lan, etc. or looking for an XML layout with large screen width) while others say that Google Play is simply analyzing the screenshots I uploaded to see if it looked like a tablet app, not a phone app running on tablet with huge unused white space lying around.
Well, if it’s indeed analyzing the screenshot, is there a way to make it think that my screenshots are tablet-compliant? The answer is, surprisingly, to use the Device Art Generator from Google itself and drag your phone app screenshot to the tool, selecting the Nexus 9 which has tablet resolution:
This is the generated image, with the device skin overlayed on top of the original screenshot from a simple Hello World application:
Surprisingly, Google Play accepted this screenshot as tablet-compliant and finally decided to make my app available on tablets!
So I guess the conclusion is that Google simply analyzes the tablet screenshots and looks for white space, most likely from the bottom and perhaps from the right and complains that the app is not tablet-compliant if there is too much white space. This assumes that a properly designed tablet app should make full use of the screen space and expand all the way to the bottom of the screen. By using the Device Art Generator, we have satisfied this criteria by adding the device skin around the screenshot and make Google think that screen space is fully utilized!
While I do not support anyone using this trick on production apps, the Device Art Generator tool is good as a quick fix for developers to make their existing phone-only apps on Google Play available on tablets without the hassle of re-designing the existing app layout files.