Push Notifications: FCM, APNs Payloads, Channels, and React Native Integration
John Hambardzumian · Full Stack & Mobile Developer | Node.js, React Native, PHP, Laravel | 7+ Years Building Scalable Web & Mobile AppsApr 11, 20262 min readPush notifications re-engage users and deliver time-sensitive information. Implementing them correctly requires understanding Firebase Cloud Messaging (FCM) on Android, Apple Push Notification service (APNs) on iOS, payload size constraints, and platform-specific user consent flows—especially after operating system updates that foreground privacy and notification suppression.
Token lifecycle and identity binding
Device tokens are ephemeral. Persist the mapping between authenticated user identifiers and FCM/APNs tokens server-side, and refresh on app upgrade or token rotation events. Never treat the token as a stable primary key.
Android notification channels
Android Oreo and above require notification channels with user-visible categories. Define granularity thoughtfully—too many channels overwhelm; too few prevent fine-grained muting. Document importance levels and vibration patterns aligned with product policy.
Payload design and data-only messages
Keep payloads compact; large attachments may require background downloads. Understand data-only versus notification messages on Android and implications for background execution. iOS delivery depends on power management, Low Power Mode, and user settings—never assume guaranteed delivery.
Deep linking and navigation reconciliation
Map notification taps to deep link URIs and reconcile with React Navigation state. Cold start from notification requires sequencing: authentication, feature flags, then navigation. Guard against duplicate navigation when both initial URL and notification fire.
Privacy, consent, and regulations
Comply with GDPR, CAN-SPAM analogs for marketing pushes, and platform policies. Provide in-app subscription centers and honor opt-outs promptly. Log consent timestamps for auditability.
Operational monitoring
Instrument delivery receipts where available, open rates, and conversion funnels. Correlate failures with server misconfigurations—expired APNs certificates are a frequent incident class.
Final notes
Select maintained libraries aligned with your React Native version and migrate when vendors deprecate APIs. Test on physical devices across manufacturers—notification behavior varies significantly.

Written by John Hambardzumian
Full Stack & Mobile Developer | Node.js, React Native, PHP, Laravel | 7+ Years Building Scalable Web & Mobile Apps. Focused on React Native and full-stack development.