using FCM as push notification with EXPO Client

For the push notifications, I must use FCM since I need to use the topic filed that currently, for my understanding, is not supported by Expo.
I am getting the token directly from FCM and using the FCM server to send notifications. Problem is that it works only when I am using a standalone APK. When I am running the app on EXPO client, I am getting the following error from FCM:
“error”: “MismatchSenderId”


1 Like

Hi! If you want to send notifications directly through FCM, and not through the Expo notifications service, you’ll have to test in a standalone app (as in, an app you built with expo build:android). This is because you don’t have the push credentials for the Expo client app, only we do :slight_smile:

If you want to test in the Expo client app, then you can do that with Expo’s notifications, which you can read more about here-

1 Like

Is there a way I can easily debug a standalone app?
when I’m sending push notifications via FCM server, my device gets it but it seems like the application doesn’t (sending data withing the notification). According to the documents all I need to do when using FCM is to change the way I’m getting the token ( const token = (await Notifications.getDevicePushTokenAsync()).data).
Should I change the way I am listening for incoming notifications? Can i still use expo-notifications to do so?

It will be awesome to have a feature where you can run your standalone app from EXPO client (can help also in scenarios where you have bugs in the standalone app only).


Hi. I have the same issue. I config follow expo fcm docs and I have “error”: “MismatchSenderId”. I use expo build: android. and push my “Server key” in my expo account. But it does not work.
i use:
I have no idea for fix it. pls help. Thanks!

This is very upsetting that there is no debugging way in expo for standalone apps in this case, but now I realize that there is no way for expo team too to provide that.
However,after a week’s hardship,I’ve successfully done it.
For those who are suffering, please read this page carefully to write your back-end properly: