What Are Android App Links? Definition & How Verification Works

Table of Content:

  1. App links vs regular deep links
  2. How Android App Links Work
  3. Why marketers and ASO teams care about Android App Links
  4. FAQs
  5. Related terms

What Are Android App Links?

Android App Links are verified HTTPS deep links that route a user from a URL directly into a specific screen inside your Android app, bypassing the "open with" dialog entirely. The OS handles this by confirming, through Digital Asset Links, that you actually own the domain the link points to (Android Developers).

This isn't just a developer-side implementation detail. For any team running paid campaigns, sending lifecycle emails, or printing QR codes, where that link drops a user is a conversion variable.

Deep links as a category covers a lot of ground. Custom URI schemes like myapp://screen, web intents, and deferred deep links all qualify loosely as "deep links." Android App Links are a specific subset with a stricter set of rules.

Regular deep links use custom URI schemes or standard web URLs, but without domain verification, Android shows a disambiguation dialog asking which app should handle the URL.

Any app could theoretically register the same scheme and intercept the route.

Android App Links require HTTPS URLs, domain ownership verified through a hosted JSON file, and a signing certificate fingerprint match.

Because the OS has confirmed you own that domain, no other app can claim it.

The link opens directly in your app with no dialog, no browser hop, no friction (Android Developers, App Links Verification).

This is a three-step verification process that runs at install time, not at click time.

  1. Your app declares the URLs it handles inside an intent filter in AndroidManifest.xml, with autoVerify set to true.
  2. Android fetches the assetlinks.json file from /.well-known/ on your domain. That file declares an association between your domain, your app's package name, and its signing certificate fingerprint.
  3. The OS verifies the statement. If everything matches, your app becomes the verified handler for those URLs. Any matching HTTPS link from that point opens your app directly.

Verification happens once, at install. If it fails, links fall back to browser behavior, which means users land on a web page instead of inside the app.

Considering the experience of Appfollow users there are three clear reasons:

  • Less landing friction. A campaign link, an email CTA, a QR code on packaging — all of these can drop a user onto an exact screen inside the app instead of the home screen or, worse, a mobile browser. Users who land where they expected to land behave differently. The drop-off that happens between "link click" and "intended action" is partly a routing problem, and Android App Links remove that variable entirely.
  • Cleaner funnels. App Links don't do attribution on their own; that's a separate measurement layer. What they do is remove "wrong destination" noise from your funnel data. When routing is consistent, the relationship between link click and in-app event becomes more legible. Teams monitoring post-click conversion on AppFollow or any analytics stack stop second-guessing whether a drop reflects a product issue or a misroute.
  • Better conversion experiments. CTR-to-CVR tests get polluted when users land somewhere unexpected. A pricing experiment where half the traffic ends up on the home screen instead of the paywall isn't measuring what you think it's measuring. Verified link routing gives conversion tests a stable foundation, so the results reflect the variable you actually changed.

FAQs

What's the difference between Android App Links and deep links?

Deep links is a broad term for any link that opens app content, including custom URI schemes. Android App Links are a specific type: HTTPS links with domain ownership verified through Digital Asset Links. Verification is what eliminates the disambiguation dialog and prevents other apps from intercepting the route.

Why do my links open in the browser instead of the app?

ШIt is because verification failed or didn't complete. The most common causes are a missing or misconfigured assetlinks.json, an incorrect certificate fingerprint, or the file not being served over HTTPS. We advise you to check the file at /.well-known/assetlinks.json and validate it using Google's Digital Asset Links testing tool.

Do Android App Links work on all Android versions?

No. Automatic domain verification requires Android 6.0 (API level 23) or higher (Android Developers). On older versions, the disambiguation dialog may still appear. Android 6.0 now covers the vast majority of active devices given how old that release is, but it's worth knowing the boundary exists.

Can multiple apps claim the same domain?

Technically yes, but only the app whose signing certificate fingerprint matches the assetlinks.json file gets verified handler status. Two apps can both declare the same domain in their manifest, but the OS only routes directly to the one that's actually listed and verified. The other falls back to the disambiguation dialog.

How do I test if verification succeeded?

Run adb shell pm get-app-links --user cur <package_name> to check the verification state for each declared domain. For Android 12 and above, you can force re-verification with adb shell pm verify-app-links --re-verify <package_name>. Google's Statement List Generator and Tester also lets you validate the assetlinks.json file before deploying.

What Are Instant Apps? Google Play Meaning Explained

What Is Churn? Churn Rate Definition & Formula for Apps

What Is Mobile Ad Fraud?

What is App Tracking Transparency (ATT) & Why It Matters

What Is App Tracking? Meaning, Definition & How It Works

What Is Opt-In? Definition and How it works in 2026

Let AppFollow manage your
app reputation for you