Boost app’s engagement with powerful native screens. Join our live webinar. Register Now
Convert your website to an app, design custom screens, engage users, and track insights — all with Twinr.
Get customized mobile app solutions for every industry and platform.
Your knowledge hub for seamless mobile app creation and optimization!
Home » Blogs » How to Set Up Deep Links & App Links in Android (2025 Guide)?
By Gaurav Parvadiya | Last Updated On June 24th, 2025
Ever clicked a product link that opened directly inside the app instead of your browser?
That’s deep linking, and in 2025, it’s essential. Deep links and app links streamline navigation, reduce drop-offs, and improve conversions by taking users straight to the content they want.
In this guide, you’ll learn how to set up deep links in Android, the difference between deep links and app links Android, and how to configure Android intent filters for deep links.
Whether you’re coding or using no-code platforms like Twinr, this Android deep linking tutorial will help you create seamless, high-converting user experiences.
Deep links and app links change the way users can navigate your Android app and go directly to the particular content instead of the generic home screen.
A deep link is a URL that opens a specific screen or feature inside your mobile app, not just the app homepage, but deep into a section.
For example: yourapp://product/12345 could open a specific product detail page in your app, not just launch the app shell.
This works using a custom URI scheme that Android understands. When a user clicks the link, Android checks if the app can handle it, then routes them to the right screen.
It’s a bit like a GPS coordinate for your app’s content. Instead of landing at the front door, the user arrives exactly at the destination.
Even if you’ve built your app with a no-code tool like Twinr, deep links still work. Twinr lets you set these routes visually, no code needed.
App links take deep linking one step further. They’re a verified version of deep links using HTTPS-based URLs.
Think of https://yourstore.com/product/123 opening inside your Android app instead of the browser, if the app is installed and verified.
The key difference? App links rely on Android’s domain verification system. You need to prove that your app owns the URL by hosting a special file (assetlinks.json) on your domain.
This extra step ensures users don’t see permission prompts. It also gives your links trust, security, and more consistent performance across devices.
Without this verification, Android might open the link in a browser or ask the user to choose, killing the seamless experience.
In order to enable deep as well as app links, specify intent filters in your AndroidManifest.xml.
These filters determine what URL patterns your app will respond to (e.g. /products, /cart, /categories) so that Android redirects the incoming links accordingly.
Once more, Twinr generates intent filters automatically, and you do not have to edit XML manually.
User experience is everything in mobile apps and deep links are the unsung heroes that make it all flow.
They don’t not only direct traffic, but they also make smooth journeys, taking users to the screen they want immediately, be it a product page, blog post, special offer, or checkout screen.
No homepage. No confusion. No waiting.
This smooth navigation is particularly essential when the users come through social media or push notifications.
They are not redirected to irrelevant pages or have to re-search in the app because they are directed to their destination. It is instinctive- it seems that the app just knows.
For developers looking to implement this, an android deep linking tutorial is the best starting point, helping you understand both basic setup and more advanced flows.
Want to understand the basics of how deep linking works across platforms?
Check out this beginner’s guide to deep linking
Deep links do not only enhance UX, but also increase sharing and campaign success.
Consider a user who shares a given product with a friend. When the link takes the user to a browser or a default home page of the generic app, chances are that you have lost the conversion.
However, in deep linking, the link will open into the shared item in the app.
It’s also a game-changer for push notifications.
You can send context-aware messages that open the app directly to the cart, category, or special deal.
This isn’t just marketing convenience, it’s precision. Every tap becomes intentional. Every message has a follow-through.
Apps that use deep links for targeted pushes consistently see higher open-to-conversion rates. Because the experience is aligned with the message, and users stay inside the flow.
Start with how to configure android intent filters for deep links to ensure accurate routing and app behavior.
A mobile session is all about seconds.
When your app requests the user to download, launches in a browser, or displays irrelevant information, you are in danger of immediate churn.
Deep links minimize this bounce rate by skipping on redundant steps.
If the app is installed, the users access the content directly. Otherwise, intelligent fallback can lead them to install and subsequently open the correct screen after installation.
Deep links are also key for re-engagement.
Did you leave something in your cart? An email or SMS that is deep-linked returns users to that specific point.
This continuity makes your app seem smart, and reliable.
Push notifications, email campaigns, SMS, referrals, all rely on deep links in order to work effectively. Here’s why:
These channels lose their connection without deep links. You can measure a click and fail to measure the conversion, violating both analytics and user paths.
For any brand serious about growth, investing in proper android app links setup is no longer optional, it’s essential.
Deep linking is not merely a technical advantage in a mobile ecosystem that is crowded, has short attention spans, and high costs to acquire.
It is what keeps your users interested, buying, and returning.
Before your app can handle deep links, you need to choose a custom URI scheme, a way to define how your app understands URLs.
A simple example: yourapp://product/123 or yourapp://category/shoes
yourapp://product/123
yourapp://category/shoes
This tells Android: “When a link like this is clicked, open this screen in the app.”
You’ll define a few elements:
The scheme: yourapp://
The host/path: product/123 or cart/checkout
These aren’t real webpages, they’re routes inside your app. Once defined, your app will know how to interpret them.
Twinr apps use a structured deep linking system that matches screen IDs to these routes. You just map them visually in your dashboard.
Now you need to teach Android what to do with these links. That’s where intent filters come in.
You define them in your AndroidManifest.xml like this:
AndroidManifest.xml
<intent-filter android:autoVerify=”true”> <action android:name=”android.intent.action.VIEW”/> <category android:name=”android.intent.category.DEFAULT”/> <category android:name=”android.intent.category.BROWSABLE”/> <data android:scheme=”https” android:host=”yourdomain.com” android:pathPrefix=”/product”/> </intent-filter>
This example handles links like https://yourdomain.com/product/123. With autoVerify=true, Android tries to verify the link on install.
https://yourdomain.com/product/123
autoVerify=true
Make sure you include the BROWSABLE category — without it, links from browsers or social apps won’t work.
BROWSABLE
Twinr apps automatically include the correct intent filters for your key routes. You don’t need to open the manifest or write XML.
When your app receives a deep link, it lands in your main activity. From there, you need to read the data and decide what screen to show.
Here’s a basic example in Kotlin
val data = intent?.data
val productId = data?.getPathSegments()?.get(1)
This pulls the ID from the link (like product/123) and routes the user to that page.
product/123
Twinr’s routing engine handles this logic internally. You define which screens are linked to which routes, and Twinr does the rest.
This is where no-code really helps — you get native-level behavior, with no dev work.
assetlinks.json
To verify app links, Android requires you to prove that your app and your website are connected.
This is done by hosting a file called assetlinks.json at this exact location:
https://yourdomain.com/.well-known/assetlinks.json
The file looks like this:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app", "package_name": "com.yourapp", "sha256_cert_fingerprints": ["AB:CD:12:34:..."] } }]
The SHA fingerprint is unique to your app’s signing certificate. This file tells Android: “This app can open links from this domain.”
Twinr generates this for you and handles hosting, so you never have to touch it.
With the file in place, Android will try to verify it on install.
You’ll use the same intent filter structure, but with HTTPS URLs and autoVerify="true".
autoVerify="true"
You can test verification using:
adb shell am start commands
adb shell am start
Android Studio’s App Links Assistant
Or the Play Console’s deep link tools
When verification passes, links will open directly in your app — no prompt, no browser fallback.
If verification fails, the same links will open in the browser instead. That’s why it’s worth doing it right.
It’s easy to miss, but without it, your app can’t be launched from a browser. This breaks deep linking from most sources like WhatsApp, Gmail, or Chrome.
A common pitfall is using the wrong SHA fingerprint or misplacing the file. Make sure the file is exactly where Android expects it, and triple-check the formatting.
If the app isn’t installed, deep links fail silently unless you’ve built in fallback behavior. Some brands use smart links (like Firebase Dynamic Links) to redirect users properly.
Twinr offers fallback to mobile web, so users never hit a dead end.
Unencoded special characters in product IDs or query strings corrupt links.
Always encode URLs properly or use tools that configure Android intent filters for deep links automatically.
Understanding the difference between deep links and app links Android ensures you pick the right approach, and this Android deep linking tutorial guides you through every step.
Twinr bakes deep linking right into the core of every Android app it builds.
We:
You don’t need to hire a developer, mess with certificates, or test links with command lines.
Just copy the link.
Send it in a push campaign, SMS, or email.
Your app handles the rest, instantly.
Deep links are no longer optional, they’re essential for smooth app UX and better retention.
They ensure users land exactly where they expect, turning push notifications into actions and reducing drop-offs.
Whether you’re managing your own app or developing for a client, this detail defines success.
The good news? You don’t need to code it all. Twinr simplifies the entire android app links setup process, handling routing, verification, and fallbacks automatically.
Want deep links that just work, without writing a single line of Android code?
Build your app with Twinr and let us handle the links, routing, and verification, so you can focus on growth.
Gaurav is the founder and CEO of Twinr, a tech entrepreneur with a decade of experience and a passion for SaaS. With a Master's degree in Computer Science, he specializes in no-code development, driving innovation in the mobile app industry. When he's not busy growing the company, you'll find him writing about tech, growth, software development, e-commerce, and occasionally sneaking in a game of badminton.