Manage your app availability on Google Play

02.04.2014

This blog post follows this one about the Android Manifest, on the topic of publishing on Google Play. Here, we will discuss Google Play’s Developer Console. It provides useful tools for published apps: statistics, backtraces for crashes and ANR (application not responding). But we will focus just on the publishing part.

Developer Console

After developping and testing your application, you can export it. This will get you an APK file (for Android package) that you can distribute through Google Play thanks to its developer console.

Devices compatibility

When importing a new APK file and putting it into production, you will be able to see a list of compatible and incompatible devices. Unfortunately, it is currently impossible to know directly why some devices are incompatible. It might be because of a too restrictive permission but you will have to guess which. Besides, if you make changes to your manifest file you cannot know if it affects the compatibility with the devices until you put the new APK into production.

Exclude devices

You may also want to exclude devices (i.e. your app will not appear in Google Play on these devices) because of known issues (e.g. video player issues, missing codec, etc… ). That exclude list is easy to manage and if the problem is solved later, you can always edit that list.

Multi-APK support

Another feature for publishing is the multi-APK support. It allows you to upload several APKs for a single app.

You may want to use it because you want to use features introduced in Honeycomb (e.g. HTTP Live Streaming) but still have a strong user base using Gingerbread (more than a third of devices as of July 2013) that forces you to offer a compatible version of your app. You can get the number of (in)compatible devices for each version but also for that multi-APK. A device will get the APK with the highest code version it is able to execute.

New release features

Google introduced new release features: alpha / bêta versions and staged rollouts. Basically, the first one will allow you to select testers, provide them with the alpha / bêta version through Google Play but they will not be able to leave a public review in the Store. Thus you need to provide a feedback channel to your testers. The second one will allow you to release your app little by little. As long as a staged rollout is not completed, you won’t be able to update your production app. You may find more information here.

Known issues

There are few major issues with Google Play but in some configurations this can be quite annoying. For instance:

  • Payment in Google Play is not available in all countries. For example, if you have a paid app don’t expect to publish it (for the moment) via Google Play in China! This also applies if you have a freemium app. Here is a list of paid app availability on Google Play.
  • Some users might have problems updating their app. It is a current problem that Google still did not solve (error RPC:S-5:AEC-0). Here is a list of known issues on Google Play

Summary

Google provides a pretty good Developer Console, at least for publishing. This is very important, since you can iterate very fast with short cycles as opposed to Apple’s App Store. Despite all the efforts put in place to address fragmentation issues, it is still hard to ensure that an app will be available and work on all devices. Sometimes, an update may break an app (just take a look the bad reviews for some apps). But it is often on devices listed as “OTHER”.

Hopefully, Google is heading in the right direction to reduce fragmentation issues:

  • Google Play Services will include APIs allowing developers to use the latest ones
  • Android Studio, the new IDE, integrates a tool to see how your app will display on various screen sizes (it was also added in Eclipse ADT v21, since November 2012)
  • Alpha/bêta/staged rollouts release on the Store to test new features on a limited set of users