Intermediate

Push Notifications and Deep Linking

Wire up real push notifications with expo-notifications and route a tapped notification straight to the right in-app screen using Expo Router's deep linking.

~5h
0 / 7 steps
🚀
Intro

Before We Start

Prerequisites: completed Mobile Fundamentals, a physical iOS or Android device (push notifications don't work on most simulators/emulators), a free Expo account for EAS.

Version note: verified against current Expo documentation as of July 2026: expo-notifications is the current SDK 57 API. Remote (push) notifications on Android have required a development build since SDK 53 — Expo Go on Android can no longer receive them, so this project builds a development build with EAS from the start rather than relying on Expo Go. Deep linking uses Expo Router, where every file under app/ is automatically a deep-linkable route; no separate linking config object is needed for basic scheme-based links.

Push notifications only deliver half the value if tapping one just opens the app to its home screen. The other half — deep linking — is what takes a user straight to the specific chat, order, or post the notification was about. This project builds both halves together: registering a device for push, sending a real test notification through Expo's push service, and routing the tap to a specific dynamic route.

🔨

Create a development build (Expo Go won't cut it)

🔨

Register for a push token

🔨

Send a real test notification with routing data, then route the tap

🔨

Add a custom URL scheme for non-notification deep links

🎯
Secret Mission

Secret Mission: Handle a link the router doesn't recognize

🧹
Wrap Up

Before You Go

Pro

Test what you just learned

Self-testing is one of the best ways to retain new skills. Unlock project quizzes to check your understanding.

Log in to unlock