Best Practices for Publishing Android Apps

Best Practices for Publishing Android Apps

For the past few months, I've been developing Android apps that are published on the Play Store. I've made a few rookie mistakes, which are listed below:

This is only a non-exhaustive list, there are certainly points that are not listed below that I have never encountered.

Add a check if an update is available

The first problem I encountered was that when a new update of my app was released on the Play Store, only a portion of users installed it. Indeed, it is possible to disable automatic updates on customer devices. As a result, after several version releases, I end up with several different versions installed in the wild.

Most people don't check if a new version of the app is available. This can cause crashes and errors in the app as Android and other libraries release versions. The result is that users think the app isn't working and uninstall it.

To avoid this problem (or at least limit it), it is possible to add a check when the application is launched, and when the user returns to it. To do this (and knowing that the code can change at any time), find out more in the official Android documentation.

Currently I have only tested with apps published on the Play Store. If your app is published elsewhere or manually (installed via APK), you will need to find out about the platform providers' SDKs, or set up a control system yourself.

AdMob - Don't forget the advertising consent form

When I first published, I added AdMob to display ads on my app. I didn't understand why I had very few displays compared to requests.

After a bit of (well, a lot of) research, I discovered that many ads weren't showing up because users hadn't given their consent to the ads. This is mandatory in Europe, mainly with the GDPR.

Additionally, you should also be careful that Admob initializes after the consent form is accepted. If this is not done, Admob will initialize incorrectly because consent will have been given after the advertising connector is initialized.

In our example, we're talking about AdMob, but this applies to any other advertising network. Beware of GDPR.

Test your application thoroughly before publishing a version

Although it is difficult to find all bugs during development (because some occur with certain versions of Android and/or specific manipulations), it is important to fix all the bugs found. Indeed, they can cause crashes or make the application unresponsive, and this poses a problem for user retention.

My advice is to monitor the Google Play Console for app crashes and freezes, and look at the errors that are reported at the time of the crash.

Information with error codes is only reported if users have allowed Google to report crashes when setting up their Android device on first boot.

One way to regularly check is to use your app. This also allows you to get ideas for new features or fixes.

Don't make a "catch-all" application

Your app must have a specific purpose. That's why users install and use it. I noticed that by adding a game section to one of my apps, it was almost (if at all) not used. People are not going to navigate the entire app to look for features, which is why you also need to think carefully about ergonomics and put yourself in the shoes of a user launching the app for the first time.

It's often said that the first few minutes a user spends with an app after installation will determine whether they uninstall or keep it. That's why first impressions are so important.

Use closed and public testing channels if needed

To deploy test versions of an application without disrupting ordinary users, it is possible to push releases to closed and public test channels. Here's the difference:

  • Closed testing: Only a few selected users added to a list can access a specific version of the application. Recommended when testers are close and can provide direct feedback (often used to put knowledge into it)
  • Public Testing: All users who have enabled the beta tester feature can join this channel. This is a large-scale test with volunteer users.

The use of each channel depends on your needs and the testers available. You are free to choose whichever you prefer. However, remember to remind users that this is a beta version if they complain that the new version is unstable, and encourage them to report bugs and crashes.

Take care of the Play Store listing

The Play Store listing is the first impression people have of your app. That's why it's advisable to choose:

  • The correct title for the application (with a little extra after)
  • An interesting description that presents the application well, but does not lie.
  • Useful, demonstrative, and good quality screenshots

Without respecting the above points, potential users may not be attracted to your application, and may not install it.

If you're targeting an international audience, I recommend translating your Play Store listings so they appear in the user's language. My advice is to make one listing in English as the default page, and then add other languages. Since English is widely used in many countries, there's a better chance of reaching a wider audience than in French, for example.