Push notifications are real-time messages sent from a server to a mobile device or web browser, enabling apps to re-engage users even when the app isn't actively running. They're delivered through platform-specific services (Apple Push Notification service for iOS, Firebase Cloud Messaging for Android) that maintain persistent, secure connections to devices, allowing instant message delivery without draining battery. The implementation spans client-side registration (requesting permissions, obtaining device tokens), server-side integration (authenticating with push services, sending payloads), and handling delivery states (foreground, background, terminated). A critical distinction: remote push requires a backend server and platform service, while local notifications are scheduled entirely on-device — but both share the same UI presentation framework and user-facing behavior, making them complementary tools for user engagement.
What This Cheat Sheet Covers
This topic spans 20 focused tables and 110 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Platform-Specific Push Services
Every push notification ultimately passes through one of these gatekeepers — Apple's APNs for the Apple ecosystem and Google's FCM for nearly everyone else, with FCM quietly proxying to APNs on iOS. The remaining entries fill in the gaps: HMS Push Kit for Huawei devices shipped without Google services, the browser-native Web Push API, and aggregators like OneSignal that hide all of this behind one unified call.
| Service | Example | Description |
|---|---|---|
Uses HTTP/2 and TLS 1.2+ | • Apple's centralized service for delivering remote push to iOS, macOS, watchOS, tvOS • requires device token from device and authentication key (.p8) or certificate (.p12) from server • supports 4KB max payload | |
Uses HTTP v1 API | • Google's cross-platform service for Android, iOS, and web • handles FCM token registration, supports notification and data messages, 4KB payload limit • for iOS, FCM acts as a proxy to APNs | |
For Huawei devices without GMS | • Required for Huawei devices sold outside China without Google services • separate SDK and token system • used alongside FCM for full Android coverage |