What are deep links?
A deep link is a URL that opens a specific screen in your app rather than just launching it — tapping a link to a product opens that product's page. Universal links and app links are the secure forms that tie your domain to your app.
Why it matters
Deep links connect your app to the outside world: notifications, emails, marketing, and sharing all rely on landing the user on the right screen. Without them, every external entry point dumps the user on the home screen. They are key to engagement and a common feature requirement.
What to learn
- URL schemes versus universal/app links
- Configuring linking with React Navigation
- Mapping a URL to a screen and its params
- Handling a link on cold start versus while running
- Universal links (iOS) and app links (Android) setup
- Testing deep links
- Deep links from notifications
Common pitfall
Handling deep links only while the app is already running, and ignoring the cold-start case where the link launches a closed app. The initial URL arrives differently and is easy to miss, so the link works in testing (app open) and fails in the wild (app closed). Handle both the running and launch paths.
Resources
Primary (free):
- React Navigation — Deep linking · docs
- Expo — Linking · docs
- Apple — Universal links · docs
Practice
Configure linking so a URL opens a detail screen with the right param. Test it both while the app is running and from a cold start (app fully closed). Trigger one from a notification tap. Done when the link lands on the correct screen in both the running and cold-start cases.
Outcomes
- Map URLs to screens and params with linking config.
- Handle links on cold start and while running.
- Set up universal links and app links.
- Deep-link from notifications to the right screen.