AndroidAndroid Deep LinkingApp LinksIndustry InsightsInstant Apps

Deep Linking and Attribution for Android Instant Apps with Branch

By May 17, 2017 No Comments

Instantaneous access to native mobile apps, or: Instant Apps.

I’m extremely excited to announce complete Branch support for all aspects of Google’s Instant Apps product today. If you have a chance to catch the Google IO announcement, you’ll see companies such as Ticketmaster and Vimeo, alongside many others demonstrate their awesome Instant Apps powered with Branch links.

This has been a dream of mine ever since I started working on Android over 6 years ago, and answers questions I’ve had for ages. Why does a user need to go to the Play Store before accessing functionality? The Play Store is a huge barrier to adoption of new apps, and likely one of the key reasons that users don’t interact with a diverse number of native apps as they do websites. The concept of instantaneous access to a native app could support an ecosystem where apps are accessed more than the web. This is why Branch jumped at the opportunity to work with Google and some of our top app developers at Ticketmaster and Vimeo to shape the Instant Apps product over the last year.

What Are Instant Apps?

Instant Apps is a new technology, built by the Android team at Google, that allows you to segment portions of an Android app to load immediately when a link is clicked. These segments (also referred to as “splits”) are not the full version of the Android app, and the user will still need to install the full native app to engage with the rest of the experience.

This means that you need to design your user experience so that a user can engage with a portion of your app experience, all the while compelling them to get the full native app. In a sense, an Instant App is a replacement for a website, only loading if the full Android app is not installed when a link is clicked. Of course if the full app is installed, then the full Android app will load instead.

The gif below shows the Ticketmaster Instant App user flow powered by Branch links. In this case, a user shares selected seats from the Ticketmaster app via SMS to another user who doesn’t have the app installed. Clicking on the Branch link will launch the Instant App immediately and deep link the end user to the selected seats and easily complete the purchase process – just like the native app except that you don’t have to have the app installed.   



After the user has engaged with your Instant App, Google recommends showing them a prompt to install the full native app. Once they install it, any time thereafter, the full Android app will load.

Show App Install Prompt After Instant App Interaction

Following the Ticketmaster example, users would see an install prompt after they complete the ticket purchase, and clicking on it would take them to the Android Play Store. Using Branch links to power the Instant-Apps-to-full-app transition allows developers to preserve the context through deep linking post install to provide an optimal user experience.

 

Branch Use Cases for Instant Apps

If you follow Google’s guide, they’ll have you integrate your web links as Android App Links that will trigger Instant Apps. While on the surface this might seem like a solution for your linking needs, this approach doesn’t cover all critical use cases, and that’s where Branch comes in.

Here’s a list of the potential use cases for Branch links and Instant Apps:

  1. If you don’t have a website, Branch will host personalized web links for you using a custom domain (yourapp.app.link or white-labeled). We help you take care of your Android App Links setup, including automatically configuring and hosting the assetlinks.json (or DAL, as Google calls it) file on your behalf.
  2. If you have a popular website and have configured Android App Links for your own domain, you likely don’t want 100% of your web links triggering your Instant App because your Instant App will only support a fraction of your full app functionality. You can configure your Instant App to only trigger on your Branch link domains and paths, then leverage the controlled usage of Branch to limit when users are linked to your Instant App.
  3. Branch can measure and attribute clicks, installs and custom conversion events back to the Branch tracking link for all visits to your Instant App, which are visible on the dashboard.
  4. You can use Branch links for deferred deep linking from the Android Instant App to the full Android App. As discussed above, you’ll likely build a feature that pushes your Instant App users to the full Android app, and Branch can do its deep linking magic on this transition to create a consistent and seamless mobile experience. Instant Apps do not provide this seamless transition out-of-the-box, so without Branch you will need to build it yourself.
  5. Similar to #3, but for a different flow, Branch can measure and attribute clicks, installs, and custom conversion events inside your full native Android App for users who were referred from an Instant App, showing the conversion from click -> Instant App -> Full App on the Branch dashboard.

Recommended Methods for Integration with Instant Apps

How do you get set up? We recommend that you use Branch deep linking for the following high-level use cases:

  1. Configure your full native Android app to support Branch links as Android App Links, along with all deferred deep linking functionality
  2. Configure your Instant App to support Branch links as Android App Links along with all deep link routing functionality
  3. Configure your Instant App install prompt to be powered by a Branch link

Once you complete the above, your Branch links will yield the following flow:

  1. Users without your full Android app installed will be deep linked to the correct content inside the Instant App
  2. Users with your full Android app installed will be deep linked to correct content within the full native app.
  3. Additionally, users who click on your install prompt within the Instant App will be deep linked once they install your full native app, minimizing friction throughout the process.

Android - Branch

Documentation about how to integrate Branch into your full Android app can be found here, with complete instructions on how to configure Android App Links on this page, and instructions on how to outfit your Instant Apps and Instant Apps install prompt with deep links can be found here. (Note: our guides do not cover how to convert your full Android app to an Instant App, only how to set up Branch links once you have). If you’re looking to build an Instant App, Google has documentation to guide your efforts.

We’re super excited to see what you can build on this new app platform! There’s limitless potential.