From 864acbe4eebd7bd9c0bd7c65da89888ec6a43c77 Mon Sep 17 00:00:00 2001 From: Wesley Unwin Date: Mon, 24 Nov 2025 11:44:43 -0500 Subject: [PATCH 1/2] Add logging to detect when/if FCM message de-prioritization happens --- src/android/CustomFCMReceiverPlugin.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/android/CustomFCMReceiverPlugin.java b/src/android/CustomFCMReceiverPlugin.java index 354d79cbc..41f391d9e 100644 --- a/src/android/CustomFCMReceiverPlugin.java +++ b/src/android/CustomFCMReceiverPlugin.java @@ -78,6 +78,16 @@ public boolean onMessageReceived(RemoteMessage remoteMessage) { Log.d("CustomFCMReceiver", "onMessageReceived"); boolean isHandled = false; + int originalPriority = remoteMessage.getOriginalPriority(); + int currentPriority = remoteMessage.getPriority(); + + if (originalPriority != currentPriority) { + Log.e(TAG, "onMessageReceived: MESSAGE DEPRIORITIZED! originalPriority: " + originalPriority + " currentPriority: " + currentPriority); + // Note: apps running in the background have restrictions imposed on them: + // See doc: https://developer.android.com/develop/background-work/services/fgs/restrictions-bg-start + // When the message is deprioritized like this, this may result in issues later related to notifications, foreground services, etc. + } + try { Map data = remoteMessage.getData(); isHandled = inspectAndHandleMessageData(data); From 8b70bf36ebe63f35d932ca9fb4ea79db50ecc83a Mon Sep 17 00:00:00 2001 From: Wesley Unwin Date: Mon, 24 Nov 2025 11:57:16 -0500 Subject: [PATCH 2/2] Add comment about integer priority levels --- src/android/CustomFCMReceiverPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/android/CustomFCMReceiverPlugin.java b/src/android/CustomFCMReceiverPlugin.java index 41f391d9e..b26343b78 100644 --- a/src/android/CustomFCMReceiverPlugin.java +++ b/src/android/CustomFCMReceiverPlugin.java @@ -79,7 +79,7 @@ public boolean onMessageReceived(RemoteMessage remoteMessage) { boolean isHandled = false; int originalPriority = remoteMessage.getOriginalPriority(); - int currentPriority = remoteMessage.getPriority(); + int currentPriority = remoteMessage.getPriority(); // PRIORITY_HIGH = 1, PRIORITY_NORMAL = 2, PRIORITY_UNKNOWN = 0 if (originalPriority != currentPriority) { Log.e(TAG, "onMessageReceived: MESSAGE DEPRIORITIZED! originalPriority: " + originalPriority + " currentPriority: " + currentPriority);