Firebase Push Notifications Not Working
Your server says the message was sent, but users never see the notification. Maybe it works on Android and not iOS, or only when the app is closed. Missed notifications mean missed orders, reminders, and re-engagement. A Codersarts mobile engineer fixes your push notification setup end to end.
Firebase push notifications usually fail because of setup rather than Firebase outages: iOS apps missing the Apple push key or capabilities, notification permission never granted, device tokens that are stale or not saved correctly, messages sent in a format the app doesn't display, or a server still using Firebase's older messaging API. The response from the send request and the device logs show where the message is being lost.
Typical symptoms | No notifications on iOS, nothing in the foreground, some users never receive messages, send errors, silent Android notifications |
Most common causes | APNs setup, missing permissions, stale tokens, notification vs data messages, Android channels, legacy server API |
How we fix it | Trace one message from server to device, fix platform setup, permissions, tokens, and payloads, test on real devices |
Turnaround | Same-day diagnosis; most fixes in 24–48 hours |
Price | Live Debug from $20; fixed-price quote for the full fix |
Signs Your Push Notifications Have This Problem
Notifications arrive on Android but not on iOS
Notifications show when the app is closed but not while it's open
The send request succeeds, but nothing appears on the device
Sending returns errors about unregistered or invalid tokens
Notifications stopped after changes to your server or Firebase project
Android notifications arrive silently without sound or a banner
Only some users or devices receive messages
Why Firebase Push Notifications Fail
1. iOS push setup incomplete
Firebase delivers iOS notifications through Apple's push service. The app needs the Push Notifications capability, the right background modes, and an Apple push authentication key uploaded to Firebase. Missing any of these blocks iOS delivery.
2. Notification permission not granted
iOS always requires users to allow notifications, and newer Android versions also require runtime notification permission. Apps that never ask, or ask at the wrong time, have many users who can't receive notifications.
3. Stale or missing device tokens
Device tokens change when apps are reinstalled, data is cleared, or tokens refresh. If the app doesn't save new tokens, the server sends to tokens that no longer work.
4. Message type and app state
Messages with a notification section are displayed automatically in the background, but apps usually must handle foreground display themselves. Data-only messages aren't displayed unless the app creates the notification. On Android, missing notification channels affect how notifications appear.
5. Server using an outdated API
Firebase retired its legacy messaging APIs in favor of the HTTP v1 API. Servers still using old server keys and endpoints fail to send.
How We Diagnose the Missing Notifications
Send a test to one known device. Check the send response and whether it reaches that device.
Review iOS configuration. Confirm capabilities, background modes, and the Apple push key in Firebase.
Check permission status. Verify how and when the app requests notification permission on both platforms.
Audit token handling. Confirm tokens are saved on every refresh and invalid tokens are removed.
Inspect message payloads. Check notification and data sections, platform options, and Android channels.
Review server integration. Confirm the server uses the current HTTP v1 API and correct project credentials.
How We Fix It
Root cause | Fix |
iOS not receiving | Complete capabilities, background modes, and Apple push key setup in Firebase |
Permissions missing | Request notification permission at the right moment on iOS and Android |
Stale tokens | Save refreshed tokens and remove unregistered tokens after send errors |
Nothing in the foreground | Handle foreground messages and display notifications in the app |
Silent Android notifications | Create notification channels with the right importance settings |
Server send failures | Migrate sending to the HTTP v1 API with service account authentication |
We test notifications on real iOS and Android devices in foreground, background, and closed states.
Example Fix
Situation: A food ordering app's order status notifications worked for Android users but never reached iOS users, and many Android users on newer OS versions also stopped receiving them.
Cause: The Apple push key had never been uploaded to the production Firebase project, the app didn't request the newer Android notification permission, and the backend was still sending through Firebase's retired legacy API.
Fix: Uploaded the Apple push key and completed iOS capabilities, added the Android notification permission request after the first order, migrated the backend to the HTTP v1 API, and added token cleanup after failed sends.
Result: Order updates reached iOS and Android users reliably, and customer calls about order status dropped.
How to Keep It From Happening Again
Test notifications on real devices for both platforms before every release.
Monitor send errors and clean up invalid tokens automatically.
Keep separate Firebase projects for development and production.
What You Get
Root cause confirmed and explained
Notifications delivered on iOS and Android in every app state
Token handling and server integration fixed
Test checklist for future releases
Frequently Asked Questions
Why are my Firebase notifications not showing on iOS? Most often the Apple push authentication key isn't uploaded to Firebase, push capabilities are missing, or the user hasn't granted notification permission.
Why don't FCM notifications appear when my app is open? When the app is in the foreground, notifications usually aren't displayed automatically. The app needs to handle the message and show it.
What does an unregistered token error mean? The device token is no longer valid, often because the app was uninstalled or the token refreshed. Remove it and make sure the app saves new tokens.
Why did Firebase notifications stop working from our server? The server may still use Firebase's retired legacy messaging API. Migrating to the HTTP v1 API with service account credentials restores sending.
Do you fix notifications in Flutter and React Native apps? Yes. We fix Firebase notifications in Flutter, React Native, and native iOS and Android apps.
Related Problems
React Native app crashing on launch
Flutter iOS build failing
Twilio SMS not sending
Supabase auth not working
Google OAuth login not working
Get Your Notifications Delivered
Share which devices miss notifications and your send response. Get a diagnosis and a fixed price.