Skip to content

How to fix Push Notifications on Android React Native (2026)

Published: at 07:00 AM

Table of contents

Open Table of contents

How to fix Push Notifications on Android React Native (2026)

Last week I was working on the Android version of Temp Mail app. Since I use React Native with Expo, most of the work was pretty easy. Though I hit a problem when I was testing push notifications (OneSignal) on the Android version, I didn’t receive any notifications. After debugging for a while, the solution was very simple.

Quick fix: Create a new Android Virtual Device using a Google Play system image, then sign in to Play Store and update Play Services. This fixes OneSignal and FCM on emulators because push notifications rely on Google Play services there.

The Problem

When I triggered a new push notification, my Android app did not receive any of them. When I checked my user in OneSignal dashboard, I saw the “Invalid Google Project Number” error, with this explanation:

OneSignal showing "Invalid google project number" error

Your user failed to be subscribed. Remove any other notification SDK and push code from your app. The SDK never received a response from APNs.

Then I followed the OneSignal docs here, no luck there either.

After that, I thought more about why this might be happening, and I thought maybe it’s because I was running the app within an Android emulator. I did some research in this regard, and that was it.

I had notifications running before with the Android emulator, but I didn’t know this: in Android emulators, push notifications only work if the emulator image includes Google Play services (e.g., “Google Play” system image, not “AOSP”). If the emulator doesn’t have Play services, FCM (and thus OneSignal) won’t work.

The Solution

After learning about the requirements to make push notifications work on an Android emulator, I checked my emulator and realized I was using one without Google Play services. After this, I created a new virtual device and made sure it has Google Play services.

Android emulator with Google Play Services to fix push notifications

When I tried push notifications with my new virtual device, it worked perfectly!

If you are also publishing your Expo React Native Android builds to Google Play, you might hit another annoying Play Console error. I wrote about it here: Fix: “You can’t rollout this release because it doesn’t allow any existing users to upgrade” Error.

TLDR (Summary)

I was not able to receive any push notifications when I tested my React Native Expo app on the Android version, and the error messages (such as “Invalid Google Project Number”) were not so helpful.

In the end, I learned that it was because my Android emulator didn’t have Google Play services. Therefore, it couldn’t run push notifications.

In short, if you are running the app in an Android emulator, do these checks:

If you are debugging other React Native issues and you use Sentry, you might also like this post: How to fix “The OS Watchdog Terminated Your App” Error?.

❓ Frequently Asked Questions (FAQ)

Why is OneSignal not working on Android emulator?

Push notifications usually do not work on an Android emulator if it does not include Google Play services. OneSignal depends on FCM, and FCM needs Play services on emulators.

What does “Invalid Google Project Number” mean in OneSignal?

In my case, it was not a OneSignal config issue. It happened because I was using an emulator image without Google Play services, so FCM registration could not work.

Which Android emulator image should I use for push notifications?

Use an AVD with a Google Play system image (not AOSP only). Also sign in and make sure Play Services are up to date.

Do push notifications work on real Android devices without Google Play services?

Some devices may not have Google Play services. This post is specifically about emulators: for emulator testing, you want a Google Play system image to make FCM and OneSignal work.

Leave a comment

Unfortunately, I don't have a comment system set up yet. But I would love to hear your thoughts on this post. Feel free to reach out to me via any of the social media platforms below in the footer.