Do we have any way to show heads up notification, when receive push from Firebase Cloud Messaging? In foreground it is possible using Notification. But there is no way to show heads up notification, when app in background, because onMessageReceived is not calling.
I tried to set priority to "high", but no result.
Do you have any ideas?
After browsing multiple solutions in stackoverflow.com, I found below explanation to be most helpful
How to handle notification when app in background in Firebase
In your Android OnMessageReceived function/method, only Data Payload (RemoteMessage.getData) will trigger your custom notification such as head-up notification when App is in background. Notification Payload (RemoteMessage.getNotification) will not trigger your heads-up notification, and instead default to showing just a tiny icon on your notification tray.
If you're using Firebase Cloud Functions, do check that the information you're sending through is in the data payload, and notification payload should be removed if you want the heads up notification to work. Having notification payload will default to showing just a tiny icon on the notification tray only.
Hope this piece of information helps, and happy coding.
I am using node.js as my server platform. The trick is to remove the 'notification' field and move the 'title' and 'body' fields to 'data'. For my case, I changed:
var message = {
token: targetID,
android:{
priority: 'high'
},
notification: {
title: 'X',
body: req.body.msg
},
data: {
topic: req.body.topic
}
};
to
var message = {
token: targetID,
android:{
priority: 'high'
},
data: {
topic: req.body.topic,
title: 'X',
body: req.body.msg
}
};
then...
fcm.send(message, function(err, response){...
Please follow the below steps..
Now just click next on following two steps with the default setup
This step is very important and this is the main part which will manage the device’s system tray to show as a heads-up notification.
Now click on review and then publish. Let me know if you get the expected result.
Regardless of what platform you are calling firebase, all what you need is to add Title and Body fields to Notification inside Android and of course Priority = High
var aMessage = new Message
{
Topic = "atopic",
Notification = new Notification { Body = body, Title = title },
Data = new Dictionary<string,string> { { "ReferenceId", refId.ToString() } },
Android = new AndroidConfig
{
Priority = Priority.High,
Notification = new AndroidNotification
{
Body = body,
Title = title,
Color = "#ffcc00",
Icon = "ic_notification",
Sound = "default",
ChannelId = "my_notification_channel"
},
},
};
© 2022 - 2024 — McMap. All rights reserved.