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.