What is the difference between Firebase push-notifications and FCM messages?
Firebase API has two types of messages, they call them:
- notification
- data
Explanation:
-
notification - messages that goes directly to Android's Notification tray only if your application is in background/killed or gets delivered to
onMessageReceived()
method if your app is in foreground.
Sample:
{
"notification" : { "body" : "Hi"}
}
-
data payload - Doesn't matter whether your application is in forground or background or killed, these messages will always be delivered to
onMessageReceived()
method.
Sample:
{
"data" : { "message" : "Hi", "whatever_key": "value"}
}
IMPORTANT : You can't send data payload messages from Firebase Console, Console only delivers notification message. However using API you can send both type of messages.
To send a data payload message you have to make a curl request:
HTTP POST Request
https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{ "data": {
"score": "5x1",
"time": "15:10"
},
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}
You can get the server key (AIzaSyZ-1u...0GBYzPu7Udno5aA), from firebase console: Your project -> settings -> Project settings -> Cloud messaging -> Server Key
Atenica
Updated on June 27, 2022Comments
-
Atenica almost 2 years
Heloo, I am building an app where I am using push notifications via Firebase Console. I want to know what is a difference between simply push-notification and cloud message? Is it that messages from cloud messaging are data messages(have key and value) and notifications are just text without key and value?Am I right?