Flutter Deep Links – A unique way!

We can provide our users with a customised flow thanks to deep linking. Apps can reply to URLs and direct users to particular sites or actions through deep linking. Firebase Dynamic Links was a well-known solution for this feature up to this point. Nevertheless, Firebase has decided to discontinue support for Dynamic Links, and on August 25, 2025, the service will cease operations (Reference). And now that time is running out, we must either utilise a custom/unique solution or switch to a new one.
This blog will take a different approach to examining Flutter Deep Links! Instead of integrating and experimenting with several solutions in your Flutter applications, we will look at how to develop a new one.
If you’re looking for the best Flutter app development company for your mobile application then feel free to contact us at — support@flutterdevs.com

Create a website:
Every deep link has a webpage, or URL, as you might say. In our situation, all we need to do is make a basic website. If the user hasn’t installed your app, they will see this page. So that customers can download the program, you can add logic to open the appropriate shopfronts.
Imagine that you make a website at https://flutterdevs.com/. Any free hosting service, such as Firebase Hosting, Netlify, etc., can be used to host the website; a.com domain or any other type of paid domain is not necessary.
Configuration Files on your website:
We must produce two files for iOS and Android once your website is complete. You must establish a subdirectory named “.well-known” in the codebase of your website, which will house the configuration files. Don’t alter the folder’s name!
Android
Make sure to include a new file named assetlinks.json in your well-known.
The settings for your Android app will be in this file. It ought to include the following information:
[
{
"relation": [
"delegate_permission/common.handle_all_urls"
],
"target": {
"namespace": "android_app",
"package_name": "com.example.app",
"sha256_cert_fingerprints": [
"your sha256 key"
]
}
}
]
You must add a SHA256 key to the list and change the package_name in the aforementioned file to the package name of your application. If you want to debug your device, you may add its SHA256 key. You can also include the SHA256 key you used to sign your app when it was released. You can also locate it in the Developer Console under Setup > App Integrity > App Signing if you sign your production app through the Google Play Store.
iOS
Make a new file called apple-app-site-association within your. well-known folder. The settings for your iOS app will be in this file. It ought to include the following information:
{
"applinks": {
"apps": [],
"details": [
{
"appIDs": [
"teamID.bundleID"
],
"components": [
{
"/": "*",
"comment": "Matches any URL path"
}
]
}
]
}
}
You must change teamID to your app’s Team ID (which you can obtain from Xcode or the Apple Developer Console) and bundleID to your app’s Bundle ID in the aforementioned file. You may either add all URLs by including * in the components or you can mention specific destinations.
After adding these files, redeploy them and make sure the modified files are visible at https://flutterdevs.com/.well-known/assetlinks.json and https://flutterdevs.com/.well-known/apple-app-site-association. Try clearing your cache or waiting a little while if you don’t see the updated material.
App Configuration:
It’s time to set up our software to manage deep links after you’ve finished configuring your website.
Android
Let’s make changes to the AndroidManifest.xml file to enable deep links on Android. To your file, add the following:
<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" />
<data android:host="yourDomain.com" />
</intent-filter>
Remember to adjust the domain, which in our case would be flutterdevs.com. Any path on your website will open your app like the example above. You can take the following action if you want to limit the app’s opening to particular paths:
<data android:path=”/invite” />
iOS
You must launch Xcode and add your domain to Associated Domains in Signing & Capabilities in order for iOS to support deep links.
Handling Deep Links:
We must now manage the deep links in our application after finishing all the configurations. To handle the deep link quickly and simply, you can use a package like app_links. You must take the following actions to use the app_links package to handle deep links:
final appLinks = AppLinks(); // AppLinks is singleton
// Subscribe to all events (initial link and further)
final sub = appLinks.uriLinkStream.listen((uri) {
// Do something (navigation, ...)
});
That’s it! You won’t have to pay or test out numerous solution providers because it’s so simple to construct your deep-linking solution.
Conclusion:
In the article, I have explained the Flutter Deep Links – A unique way! basic structure in Flutter; you can modify this code according to your choice. This was a small introduction to the Flutter Deep Links – A unique way!, On User Interaction from my side, and it’s working using Flutter.
I hope this blog will provide you with sufficient information on trying the Flutter Deep Links – A unique way! In your projects. So please try it.
❤ ❤ Thanks for reading this article ❤❤
If I got something wrong? Let me know in the comments. I would love to improve.
Clap 👏 If this article helps you.
Feel free to connect with us:
And read more articles from FlutterDevs.com.
FlutterDevs team of Flutter developers to build high-quality and functionally-rich apps. Hire Flutter developer for your cross-platform Flutter mobile app project on an hourly or full-time basis as per your requirement! For any flutter-related queries, you can connect with us on Facebook, GitHub, Twitter, and LinkedIn.
We welcome feedback and hope that you share what you’re working on using #FlutterDevs. We truly enjoy seeing how you use Flutter to build beautiful, interactive web experiences.
