SDK34 Push Notifications: Notification Listener not called

I’ve just upgraded SDK33 to SDK34. FCM push notifications were working fine in SDK33 but now I only get system-level notifications in SDK34 (in the phone status bar), I don’t receive any in-app notifications via Notifications.addListener().

In other words the push notifications are making it to the phone but not all the way into the Javascript Notifications listener.

Has something changed in ExpoKit in SDK34 that might break in-app notification listeners?

I see the same thing on both Android and iOS. Both used to receive in-app with notifications with SDK33 even after ejection.

I’m having the same issue - for me it’s working in the Expo app but not standalone. Everything is set up according to docs so I have no reason why it wouldn’t fire. Let me know if you figure something out

1 Like

I’ve tested push notifications on android with several configurations ({GCM, FCM} x {standalone, ejected}). Everything seems to work fine. Can you guys give me more details about your config?

  • Do you use your own google-services.json?
  • Is your project ejected or standalone app?

Hi,

In my case it’s ejected and using both FCM (with our own google-services.json) and APNS. Pushes are sent directly to FCM or APNS, not via the Expo push server because this is ejected.

I receive the push notifications when the app is backgrounded, but I don’t get the in-app Notifications.listener alerts when the app is foregrounded.

This worked in SDK33 but no longer works in SDK34.

Thanks

Do you receive push notification if app is in foreground?
Do you use notification payload in your Firebase message?

Do you receive push notification if app is in foreground?

On iOS we don’t get any notification when the app is foregrounded (as expected, we would only expect to get in-app Listener callbacks).

On Android the phone does get the system notifications when the app is foregrounded, but we don’t get the in-app Listener callbacks.

Do you use notification payload in your Firebase message?

Need to check the details but I think you have to use the data field instead of notification due to some custom code in the Expo SDK.

But essentially this was working fine in SDK33 but no longer in SDK34 so I think the push format should be OK.

This sounds like the same issue that we are running into: Notifications.addListener not being triggered on Android when sending from 3rd party service

Have you figured anything out?

I never really got to the bottom of it, but it worked when built by a colleague, and then worked for me when I had to swap to a new MacBook. Not sure if there was something wrong in my working copy, or something related to the version of Node or something. Sorry I can’t be of any further help.

Thanks for the update