Of the following two links
GCM Priority
Optimization for Doze and App Standby
you can conclude that for a high priority message
GCM tries to immediately send high priority messages, which allows the GCM service to wake the sleeping device as much as possible and open a network connection to your application server.
and for a regular message
Messages with normal priority will not open network connections on the sleeping device, and their delivery may be delayed to save battery.
and as you can see from the answer for the following question
you can never be sure that the Android device is in sleep mode for the Android version smaller than Marshmallow, for devices working with Marshmallow or higher, there is a dose mode.
So, get a device that works with Marshmallow or higher, and put it in dose mode by running the following commands
$ adb shell dumpsys battery unplug $ adb shell dumpsys deviceidle step
You may need to run the second command more than once. Repeat it until the device status changes to idle.
Now try sending a push notification with a high priority and a normal priority. When the priority of the message is high, the notification should be accepted in the same way, if the priority is not set or is not set to normal, the notification will be delivered with some delay or when the device wakes up.
source share