The Basics
Deep linking routes a URL (myapp://detail/5) directly to a specific screen in the app, bypassing the home screen.
URI Schemes (Custom)
Old school: twitter://. Pros: Easy setup. Cons: No fallback if app isn't installed (user sees error), and insecure (anyone can claim your scheme).
Universal Links (iOS)
Standard HTTPS links (https://twitter.com/status/123). If app is installed, it opens. If not, it falls back to Safari website. Secure and smooth.
App Links (Android)
Android's equivalent of Universal Links. Requires verifying domain ownership using a JSON file on your server.
Verification Process
You must host apple-app-site-association (iOS) and assetlinks.json (Android) on your web server to prove you own the domain.
Deferred Deep Linking
User clicks link -> App not installed -> App Store -> User Installs -> App Opens -> App navigates to the original linked content. Requires attribution tools (AppsFlyer/Branch).
Testing
Test with real devices. Simulators often behave differently with intents and verified links. Use xcrun simctl openurl for iOS testing.