Android App Links
Also known as: app links android, verified deep links, android app links
Android App Links are HTTP(S) deep links that Android verifies against a website you own, so tapping a matching URL opens your app directly instead of showing a chooser or the browser. Verification uses a Digital Asset Links JSON file hosted on your domain.
- Requires an assetlinks.json file at /.well-known/ on your domain listing the package name and signing-cert SHA-256.
- Set android:autoVerify="true" on an http/https intent filter to trigger domain verification.
- Since Android 12, unverified web links open in the browser by default, not the app.
How verification works
An Android App Link is an ordinary http/https intent filter that you mark as verifiable with android:autoVerify="true" in the manifest. At install time (and on updates), Android requests https://yourdomain.com/.well-known/assetlinks.json and checks that it lists your app's package name and the SHA-256 fingerprint of your signing certificate.
If the Digital Asset Links file matches, Android treats your app as the verified default handler for those URLs. Tapping a link in another app, an email, or search opens your app with no disambiguation dialog. If verification fails, the link behaves like a regular web link or a generic deep link that still shows a chooser.
App Links vs deep links
A plain deep link is any URI (including custom schemes like myapp://) that an intent filter can catch, but Android cannot prove you own the destination, so it may show a chooser. App Links are the verified subset: standardized on web URLs and backed by domain ownership, which removes the chooser and prevents other apps from claiming your links.
On Android 12 (API 31) and later, unverified web links default to opening in the browser rather than your app, making autoVerify effectively required for a reliable open-in-app experience. You can check status with adb shell pm get-app-links <package> and review the user's per-link preferences under Settings > Apps > [App] > Open by default.