One of two identical devices gets no push — diagnose why
Two phones run the same app version, the backend and network are confirmed stable, and pushes are being sent. One phone receives notifications; the other receives none. Nothing in the app code or server differs between them.
Device A: receives all push notifications normally.
Device B: same app version, receives no push notifications.
Backend: stable, confirmed sending to both device tokens.
Network: stable on both devices.
List the most likely device-side and account-side causes, and the order in which you would check them. Diagnose the cause.
With the backend and network ruled out, the cause is device- or account-side. Check: notification permission disabled, system or app-level notifications off, battery saver / Doze killing the background process, a stale or missing push token, no Google services (Huawei → FCM token never issued), a different logged-in account, Do-Not-Disturb mode, or an OS-version push difference.
- ✗Blaming the shared app code when the difference is device-side
- ✗Forgetting permissions, battery saver, and Doze can block push
- ✗Overlooking the missing-Google-services (Huawei/FCM) cause
- →How would you confirm whether Device B has a valid push token?
- →Why would a Huawei device never receive an FCM push?
The framing is the trap: "same app version" pushes candidates toward a code bug, but identical builds make code the least likely cause. With backend and network confirmed stable, walk the device- and account-side chain, cheapest checks first.
Dump the state of both devices and compare — the divergence shows up immediately:
Device A Device B
notification permission granted DENIED
app notifications on off
battery optimization unrestricted optimized (Doze)
Do-Not-Disturb off on
FCM token registered yes none
Google Play services present absent (Huawei)
logged-in account user@corp other@corp
- Notification permission for the app disabled (most common).
- System / app-level notifications turned off, or a specific channel muted (Android).
- Battery saver / Doze killing the background process that receives push.
- Do-Not-Disturb / Focus mode suppressing alerts.
- Stale or missing push token — the device never registered or the token rotated.
- No Google services — a Huawei device has no GMS, so FCM never issues a token; push silently never arrives.
- Different logged-in account on Device B than the one targeted.
- OS-version differences in background/push behavior.
Right approach: verify Device B actually holds a valid registered token, then confirm OS-level permission and power settings before suspecting anything shared.