{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifqphebnv6halud2fi5v2cg6ssqrlypvtvvpaqba4atu4sjkosici",
    "uri": "at://did:plc:5sgu76a53rz3n6unbykmovqy/app.bsky.feed.post/3mloitx6xn632"
  },
  "description": "Push notifications are short messages that a backend server delivers to a user's device through the OS-level push service, displayed even when the corresponding app is not running. Push is the standard re-engagement and real-time messaging channel on mobile and increasingly on web.\n\n\nHow it works\n\nThe app registers with the OS push service (APNs on iOS, FCM on Android, Web Push on browsers) and receives a unique device token. The token is sent to the backend, which stores it against the user. To",
  "path": "/engineering-glossary/push-notifications-mobile-messaging/",
  "publishedAt": "2026-05-12T19:16:11.000Z",
  "site": "https://sahilkapoor.com",
  "tags": [
    "iOS",
    "Android",
    "PWA",
    "React Native",
    "Flutter"
  ],
  "textContent": "**Push notifications** are short messages that a backend server delivers to a user's device through the OS-level push service, displayed even when the corresponding app is not running. Push is the standard re-engagement and real-time messaging channel on mobile and increasingly on web.\n\n## How it works\n\nThe app registers with the OS push service (APNs on iOS, FCM on Android, Web Push on browsers) and receives a unique device token. The token is sent to the backend, which stores it against the user. To deliver a push, the backend posts a message to the platform service with the token; the service delivers the payload to the device, which renders the notification or wakes the app to handle it silently.\n\n## Common platform services\n\n  * **APNs (Apple Push Notification service).** iOS, iPadOS, macOS, watchOS, tvOS.\n  * **FCM (Firebase Cloud Messaging).** Android, iOS, web; the most common cross-platform option.\n  * **Web Push.** W3C standard supported by most browsers; iOS added support in 16.4+ for installed PWAs.\n  * **OneSignal, Airship, Braze, Customer.io.** Higher-level providers that orchestrate APNs, FCM, Web Push, SMS, and email.\n\n\n\n## Notification types\n\n  * **Alert / banner.** Visible to the user with title, body, icon, action buttons.\n  * **Silent / data.** Delivered to the app to trigger background processing without showing the user anything.\n  * **Rich.** Include images, video, custom layouts (Notification Service Extension on iOS, NotificationCompat.BigPictureStyle on Android).\n  * **Live Activities and widgets.** Persistent, dynamically updated notifications on the lock screen and Dynamic Island (iOS).\n\n\n\nšŸ”—\n\n**Related Terms**\niOS, Android, PWA, React Native, Flutter.",
  "title": "Push Notifications",
  "updatedAt": "2026-05-13T19:14:23.359Z"
}