100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
React Native
30 minintermediate

Push Notifications and Deep Links

A push notification that lands and a tap that goes nowhere useful is a specific, common failure: the notification delivery worked, the permission was granted, and the feature still fails the user, because tapping it opened the app to its default screen instead of the actual order, chat, or article the notification was about. Push notifications and deep links are two separate technical systems — one delivers a message while the app may not even be running, the other routes a URL-shaped request to a specific screen — but they are almost always used together, and the join between them, not either piece alone, is where most real-world bugs live.

Both platforms route push delivery through their own vendor infrastructure before it ever reaches your app: Apple Push Notification service (APNs) for iOS, and Firebase Cloud Messaging (FCM) for Android — your backend does not deliver directly to a device, it hands a message to APNs or FCM, which hold the actual persistent connection to the device and handle delivery, retry, and battery-conscious batching on your behalf. Deep links, separately, are how a tapped notification (or a link from outside the app entirely — a browser, another app, an SMS) tells your already-running or freshly-launched app which specific screen to show, using either a custom URL scheme or, for the version that also works as a plain web link, Universal Links (iOS) and App Links (Android).

This lesson covers both systems and the handoff between them: registering for push, handling a notification in every one of the app's possible states (foreground, backgrounded, not running at all), and routing the tap to the correct in-app destination reliably in all three cases.

Analogy🏏Cricket
🏏 Think of it like cricket: A national board's ticketing system does not sell and deliver tickets directly — it uses established payment and delivery infrastructure (a bank's payment gateway, a courier network) that already knows how to handle authentication, retries, and delivery confirmation reliably at scale, rather than the board building its own payment rails and delivery trucks from scratch. But a delivered ticket is only half the job: the ticket itself has to actually get the fan to the right seat, right gate, right stand — a ticket that arrives perfectly but is misprinted with the wrong gate number delivers the fan to the wrong place just as surely as a ticket that never arrived at all. Push delivery is the payment-and-courier infrastructure — APNs and FCM are the established rails your app doesn't have to rebuild. The deep link is the ticket's actual gate and seat information — the part that determines whether the fan, having received something, ends up in the right place. Just as a ticketing system has to get both halves right — reliable delivery and accurate seat information — a notification feature has to get both push delivery and deep-link routing right, and a bug in either half produces the identical symptom from the fan's perspective: they showed up and it didn't work. The insight is that two separate systems working correctly in isolation still fail the user if the handoff between them — what the delivered thing actually points to — is wrong.
Lesson 23 of 35
0% complete