Skip to content Skip to sidebar Skip to footer

Handle The Data Payload Without User Tapping On The Notification?

When in the background, apps receive the notification payload in the notification tray, and only handle the data payload when the user taps on the notification. Is there any way

Solution 1:

Basing from the FCM docs on Handling Messages:

App state   Notification        Data                Both
Foreground  onMessageReceived   onMessageReceived   onMessageReceived
Background  System tray         onMessageReceived   Notification: system tray
                                                    Data: in extras of the intent.

It's not specifically handled ONLY by tapping on the Notification. You may handle it in the onMessageReceived(). Pretty sure the tap action also depends on how you implement it.

If you intend for it to do something else, do provide more details.

Solution 2:

If you want to receive data payload when app is not running then you need to use a custom app-server with http protocol(in your case) which will send only data payloadno notification and will send data to fcm endpoint like this

{"data":{"some_key":"some_value","some_more_key":"some_more_value"},"registration_ids":["device-token","device-token2"]}

or just to send data from server to one client

{
   "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
   "data" : {
     "Nick" : "Test",
     "body" : "Your message here",
     "Room" : "Some Test Room"
   },
 }

Then using POST you can send downstream message to your device and it will work the way you want. If you want to have a basic idea of such app server please consider this : How to push notification to client when Firebase has a new entry?

I have posted basic Java Servlet code here and also a node.js code by firebase official blog.

Hope it helps.

Post a Comment for "Handle The Data Payload Without User Tapping On The Notification?"