Stay organized with collections
Save and categorize content based on your preferences.
An Android Instant App is a small version of your app that runs without
installation. Instead of installing an APK, users launch your app simply by
clicking a URL. As such, all instant apps need to be accessible via a URL
declared using Android App Links. This page explains how to use Android App
Links for your Android Instant Apps.
App links overview
First, here's a summary of what you should already understand about app links.
When you create an intent filter for activities in your app that allow
the user to jump straight to a specific screen in your app with a
URL link, this is known as a "deep link." Other apps can declare a similar
URL intent filter, though, so the system might ask the user which app to
open. To create these deep links, read
Create Deep Links to App Content.
When you publish an assetlinks.json file on the website that corresponds
to your app's HTTP deep links, you verify that your app is the true owner
of those URLs. Thus, you've converted your deep links into Android App Links,
which ensure that your app instantly opens when the user clicks such a URL.
To create app links, read
Verify Android App Links.
So, Android App Links are simply HTTP deep links that your website is verified
to own so that the user doesn't need to choose which app to open. For a more
specific description, see differences between deep links and app links.
In both cases, however, the user must already have your app installed. If the
user clicks one of your web site's links and they don't have your app installed
(and no other app handles that URL intent), the URL is opened in a web browser.
So, creating an Instant App solves this part—it allows users to open your app by
simply clicking a URL, even if they don't have your app installed.
When end users perform a Google search for your app, Google Search displays a
URL with the "Instant" badge.
How app links for instant apps are different
If you've already followed the guides to
Create Deep Links to App Content
and
Verify Android App Links,
then you've already done most of the work necessary to make app links work with
your instant app. There are just a couple extra rules when using app links for
instant apps:
All intent filters used as app links in your instant app must support
both HTTP and HTTPS. For example:
Notice that you don't need to include the host in the second <data>
element because, within each <intent-filter> element, all combinations of
each <data> attribute are considered valid (so this intent filter does
resolve https://www.example.com).
Only one instant app can be declared for each website domain. (This is
unlike when creating app links for your installable app, which allows you to
associate a website with multiple apps.)
Other reminders when creating app links
All HTTP URL intent filters in your instant app should be included in
your installable app. This is important because once the user installs your
full app, tapping a URL should always open the installed app, not the instant
app.
You must set autoVerify="true" in at least one intent filter in both the
instant and the installable app. (See how to enable automatic verification.)
You must publish one assetlinks.json for each domain (and subdomain
supported by your app links, using the HTTPS protocol. (See how to
support app linking for multiple hosts).
The assetlinks.json file must be valid JSON, be served without redirects,
and be accessible to bots (your robots.txt must allow crawling
/.well-known/assetlinks.json).
Custom host/scheme URLs should be declared with separate intent filters.
Ensure that your app link URLs account for your top search results for your
key terms.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# Create App Links for Instant Apps\n\nAn Android Instant App is a small version of your app that runs without\ninstallation. Instead of installing an APK, users launch your app simply by\nclicking a URL. As such, all instant apps need to be accessible via a URL\ndeclared using Android App Links. This page explains how to use Android App\nLinks for your [Android Instant Apps](/topic/instant-apps).\n| **Note:** If you're not building an instant app, then you don't need to read this guide---you should instead create app links for your installable app by reading [Create Deep Links to App Content](/training/app-links/deep-linking).\n\nApp links overview\n------------------\n\nFirst, here's a summary of what you should already understand about app links.\n\n- When you create an intent filter for activities in your app that allow the user to jump straight to a specific screen in your app with a URL link, this is known as a \"deep link.\" Other apps can declare a similar URL intent filter, though, so the system might ask the user which app to open. To create these deep links, read [Create Deep Links to App Content](/training/app-links/deep-linking).\n- When you publish an `assetlinks.json` file on the website that corresponds to your app's HTTP deep links, you verify that your app is the true owner of those URLs. Thus, you've converted your deep links into Android App Links, which ensure that your app instantly opens when the user clicks such a URL. To create app links, read [Verify Android App Links](/training/app-links/verify-android-applinks).\n\nSo, Android App Links are simply HTTP deep links that your website is verified\nto own so that the user doesn't need to choose which app to open. For a more\nspecific description, see [differences between deep links and app links](/training/app-links/verify-android-applinks#the-difference).\n\nIn both cases, however, the user must already have your app installed. If the\nuser clicks one of your web site's links and they don't have your app installed\n(and no other app handles that URL intent), the URL is opened in a web browser.\nSo, creating an Instant App solves this part---it allows users to open your app by\nsimply clicking a URL, even if they don't have your app installed.\n\nWhen end users perform a Google search for your app, Google Search displays a\nURL with the \"Instant\" badge.\n\nHow app links for instant apps are different\n--------------------------------------------\n\nIf you've already followed the guides to\n[Create Deep Links to App Content](/training/app-links/deep-linking)\nand\n[Verify Android App Links](/training/app-links/verify-android-applinks),\nthen you've already done most of the work necessary to make app links work with\nyour instant app. There are just a couple extra rules when using app links for\ninstant apps:\n\n- All intent filters used as app links in your instant app must support\n both HTTP and HTTPS. For example:\n\n \u003cintent-filter\u003e\n \u003caction android:name=\"android.intent.action.VIEW\" /\u003e\n \u003ccategory android:name=\"android.intent.category.DEFAULT\" /\u003e\n \u003ccategory android:name=\"android.intent.category.BROWSABLE\" /\u003e\n \u003cdata android:scheme=\"http\" android:host=\"www.example.com\" /\u003e\n \u003cdata android:scheme=\"https\" /\u003e\n \u003c/intent-filter\u003e\n\n Notice that you don't need to include the `host` in the second `\u003cdata\u003e`\n element because, within each `\u003cintent-filter\u003e` element, all combinations of\n each `\u003cdata\u003e` attribute are considered valid (so this intent filter *does*\n resolve `https://www.example.com`).\n- Only one instant app can be declared for each website domain. (This is\n unlike when creating app links for your installable app, which allows you to\n [associate a website with multiple apps](/training/app-links/verify-android-applinks#multiple-apps).)\n\nOther reminders when creating app links\n---------------------------------------\n\n- All HTTP URL intent filters in your instant app should be included in your installable app. This is important because once the user installs your full app, tapping a URL should always open the installed app, not the instant app.\n- You must set `autoVerify=\"true\"` in at least one intent filter in both the instant and the installable app. (See how to [enable automatic verification](/training/app-links/verify-android-applinks#config-verify).)\n- You must publish one `assetlinks.json` for each domain (and subdomain supported by your app links, using the HTTPS protocol. (See how to [support app linking for multiple hosts](/training/app-links/verify-android-applinks#multi-host)).\n- The `assetlinks.json` file must be valid JSON, be served without redirects, and be accessible to bots (your `robots.txt` must allow crawling `/.well-known/assetlinks.json`).\n- Use of wildcards in your intent filter's host attribute is not recommended. (See how to [support app linking from multiple subdomains](/training/app-links/verify-android-applinks#multi-subdomain).)\n- Custom host/scheme URLs should be declared with separate intent filters.\n- Ensure that your app link URLs account for your top search results for your key terms."]]