Software Development

It’s all about Android Instant Apps

Here is how it starts, I had developed one app few months back and sent the play store link to few of my friends. Then I asked them later on whether they did check out my app or not. I was surprised by the reason given by them for not installing my app and it was like…

and I was like 🙁

You might have come across such situations. So if we see here, we may have question that ‘Why users are not installing apps?’ The probable answer could be ‘They just hate to install apps due to number of reasons’ like above one.

In this article we will see, how we can solve the problem of ‘Users are not installing apps’ using Google’s Android Instant Apps.

What is Instant app?

I describe instant app in just three words Apps without installation. We can also describe it as Cloud apps.

Instant app does not require installation to access. It’s like you got link on any messaging app, Just click on it and you have instant app open in your device instead of opening of playstore app and showing install button.

Instant app requires installable app to be in playstore. In case if you want to install the app you can do it right from instant version of app using suggested install button.

It was actually announced in I/O 16 but it was limited to few developers. Now it is available to all developers as it was announced in this I/O 17.

Some highlights:

Supported devices : Google Pixel, Google Nexus, Samsung Galaxy S7, and other popular devices

Supported OS versions: Android 6.0 (API level 23) and higher

Supported Countries: Click here to see list

Do I have to create separate app? No, You don’t have to create separate app for instant apps But in order to support instant app you have to refactor or change your app’s project structure in such a way that it supports both installable and instant version of app.

How to publish it? You can use your existing play console to publish the app.

How it works

In instant app world you have to divide your existing app into module called feature. Each feature is assigned an unique URL. When user hit the URL, Google play sends piece of code of that particular feature to users device and you see the instant app. While using instant app if user request another feature for the same app, current feature gets discarded. So at a time only single feature can be loaded into users device. Note: Each feature must be within 4MB in size.

So when i said you have to divide app into feature, let’s see in detail how we can do that.

Basically one app does several things and you can combine most relevant functionalities or Activities into one feature. Let’s try to understand how

Consider we have some functionalities in our example app like these.

  • Search Item
  • Browse Item
  • Item detail
  • Edit item

We can combine Search item and Browse item in Feature1 and Item detail and Edit item in Feature2. You can also have all activities in a single feature but remember it should not exceed 4MB size for that feature otherwise you will get error while uploading it on playstore for violating size limit.

Introducing Base featureEvery instant app must have one (and only one) base featureIf you are having only single feature, you can make it as base feature and If you have multiple feature, you can create base feature and put all shared resources and code files into that like strings.xml, styles.xml

Note: Base feature is always downloaded when user switches between features, there by providing common resources to all features.

We can see that, In each feature there must be at least one activity that is URL addressable. When you click on URL, Google play verifies and send necessary code to users device with the help of DAL (Digital Assets link) file that can be generated using app link assistant in android studio 3.0

Get ready for instant app

To get your app prepared for instant app, Its good to work on following list of steps.

Some Best UX Practices

  • User should feel that both instant and installed app is same. They should not able to figure out difference while they use the app. For example you must keep same icons, colour scheme in both the apps.

  • With instant app, You would be focusing more on creating as compelling feature as you can so that it insist users to download your app. You may need to reconsider your success metrics rather than just focusing more on increasing installs number.

  • Instant app shows app branding, app title, app launcher icon as you launch instant app so avoid creating additional one by yourself.

  • You should not have sigup/signin screen as user launches instant app, otherwise you know what most of users will do. So try to push it back as much as you can and show other functionality of your app.

  • You can show a install button in instant app. Consider that button as part of your app. It is suggested that you must use label “install” for the installation button.

  • You can also have implicit installation prompt in the form of dialog or other custom layout. You should show it only after user is completed with any task in your instant app, also you should not show it more than 2–3 times. With implicit installation prompt, you can lure users to install app by giving proper reason to install the app. For example telling users to install app to access some functionalities that are not supported in instant version of app.

As a result you get more satisfied users

Consider in case of installed app, where you send link to 100 users, 90 users out of them open the link, they see play store app with your app listing. Now 40 users decides to install the app just by looking at icon, screenshot, description and reviews. It may happen that out of 40 only 10 users keeps the app and rest have just uninstalled it because they did not find it useful to them after installation or it was completely different from screenshot or any other reason.

Now in case of instant app, When you send link to 100 users. Even if 90 users open the link, they just start using your app instead of watching app listing on play store app. if less than 50% i.e 40 users decides to install app, chances are high that almost all users will keep the app because they have already used it and know what it does.

The main benefit that I see is, we will have more satisfied users. Satisfied users spends more time in app and may give good reviews and ratings because they are actually using app. Good user engagement,reviews,ratings may rank app higher in place and ultimately bringing more users to the app.


Pinkesh Darji
I love to solve problems using technology that improves user’s life on a major scale. Over the last several years, I have been developing and leading various mobile apps in different areas. More than just programming, I love to write technical articles. I have written many high-quality technical articles. I have worked with various startups to build their dream app. I have been involved in product development since my early days and know insights into it. I have provided my valuable input while taking some crucial decisions of the app by brainstorming with a design, QA team. Over the last 3 years, I have been developing mobile apps and libraries using Google’s Flutter framework. I mentor junior Flutter developers and review their code. You will also find me talking on various Flutter topics in local meetups.