FCM notification sent but not showing on the device

A successful FCM API response means Firebase accepted the message, but client permissions and platform configuration still determine how it appears.

Check the registration token first

Make sure the token belongs to the same Firebase project as the service account used to send the message. Refresh the token from the client SDK if you are unsure whether it is current.

Check notification permission

Android 13 and later, Apple platforms, and web browsers require notification permission. A denied permission can prevent the notification from being shown even when the message reaches the app.

Check foreground behavior

Apps often handle FCM differently while in the foreground. Your client code may need to display a local notification or update the UI instead of relying on the operating system notification tray.

Check platform configuration

For Android, confirm notification channels and app manifest configuration. For Apple platforms, confirm APNs credentials and capabilities. For web, confirm the service worker and web push certificate configuration.

Retest with a minimal payload

Use the FCM Notification Tester with only a title, message and current device token. Once a basic notification works, add your optional custom data.