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.