# Deep Linking Guide > A practical deep linking guide covering Universal Links, App Links, and deferred deep linking, plus how to implement them with Redirectly for Flutter and RN. - Canonical: https://redirectly.app/deep-linking-guide - Site: [Redirectly](https://redirectly.app) — deferred deep linking for Flutter & React Native Deep linking sends users from a web link (or another app) into a specific screen inside your app. This guide covers the basics and how Redirectly fits in for Flutter and React Native. ## In this article - What is deep linking? - Universal Links and App Links - Deferred deep linking - Using Redirectly ## What is deep linking? Deep linking uses a URL to open your app and, ideally, a specific route (e.g. a product page or campaign). On iOS you use Universal Links (https); on Android you use App Links. Both require hosting a file on your domain (apple-app-site-association, assetlinks.json) so the OS can verify that your app is allowed to handle that domain. For a full primer, see [What is Deep Linking?](https://redirectly.app/blog/what-is-deep-linking.md) on our blog. - **Universal Links (iOS)** — HTTPS links that open your app when tapped. Require apple-app-site-association on your domain. - **App Links (Android)** — HTTPS links that open your app. Require assetlinks.json on your domain and intent filters in your app. ## Universal Links and App Links Both iOS and Android require you to prove that your app owns the domain used in the link. You do that by hosting a well-known file on that domain and declaring your app's bundle ID or package name. The OS then routes links for that domain to your app instead of the browser. - iOS: Add Associated Domains (e.g. applinks:yourapp.redirectly.app) and host apple-app-site-association at /.well-known/apple-app-site-association. - Android: Add an intent filter for your domain and host assetlinks.json at /.well-known/assetlinks.json. - Redirectly hosts these files for your subdomain (e.g. yourapp.redirectly.app) so you don't have to manage them yourself. ## Deferred deep linking If the user doesn't have your app yet, a normal deep link can't open it. Deferred deep linking solves that: the link sends them to the store, and after install the app receives the original link data so you can route them to the right content. That's what Redirectly is built for. [Deferred deep linking](https://redirectly.app/deferred-deep-linking.md) and [What is Deferred Deep Linking?](https://redirectly.app/blog/what-is-deferred-deep-linking.md) go deeper. ## Using Redirectly Redirectly gives you a subdomain (e.g. yourapp.redirectly.app), hosts the required association files, and provides Flutter and React Native SDKs. You configure Universal Links and App Links once, then create links via API or dashboard. No native code needed for the SDK integration. - [Flutter deferred deep linking](https://redirectly.app/flutter-deferred-deep-linking.md) — Pure Dart SDK, no native code required. - [React Native deferred deep linking](https://redirectly.app/react-native-deferred-deep-linking.md) — TypeScript SDK, Expo and bare RN. ### Related resources - [What is deep linking?](https://redirectly.app/blog/what-is-deep-linking.md) on our blog - [Apple App Site Association (AASA) validator](https://redirectly.app/aasa-validator.md) — Validate your Universal Links setup - [assetlinks.json validator](https://redirectly.app/assetlinks-validator.md) — Validate your App Links setup --- Full site index for AI agents: https://redirectly.app/llms.txt