When you are setting the channel for your notification you also have the option to set the importance for the channel per notification. Possible values for this property are high, low, max, min and default. To learn more about what each value does see the FCM docs. For devices before Android 8.0 this property can be used like priority with the same options described up above.
specifically
For devices before Android 8.0 this property can be used like priority with the same options described up above.
which seems to suggest that devices before 8.0 use importance newer phones use priority.
For Android, notifications will appear immediately in most cases. However, in some cases (such as phone being stationary or when screen has been turned off for prolonged period of time), default notifications will not ring the phone until screen is turned on.
To override that behavior, set priority: high and ttl: 0.
On a side note, I have been using priority for years without a problem and I don’t have one now. I was re-reading through the docs and noticed that in critical the example given uses priority, however the channel example uses importance. I assume both would reflect the current format.
You send a message from the server either via automation or service call etc…
That message first goes to firebase where the priority value is first handled for critical notifications. This step and the next step are skipped if you are using persistent connection
Firebase sends the message to the app after processing ttl and priority
Device receives the notification and processes things and thats where the docs are correct that lower versions of android ignore it.
The critical format is important for speedy delivery of the notifications so that you always get them even if the device is sleeping (dozing). That happens before teh app processes the rest of the notification like text and image etc…
It is confusing because both firebase and google use priority for different things but the name still needs to remain teh same.