how get message body when FCM notification message

2019-04-09 08:52发布

When app is in background, the notification message is deliver by Notification, when the notification is tap, app is launch, how can i get the message body?

the intent is this:

    Bundle[{google.sent_time=1470813025421, from=568540028909, 
google.message_id=0:1470813025865549%31bd1c9631bd1c96,
 collapse_key=com.google.firebase.quickstart.fcm}]

no message body in intent, only message id! Thanks!

2条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-04-09 09:34

try this

  @Override
        public void onMessageReceived(RemoteMessage remoteMessage) {
            // TODO(developer): Handle FCM messages here.
            // If the application is in the foreground handle both data and notification messages here.
            // Also if you intend on generating your own notifications as a result of a received FCM
            // message, here is where that should be initiated. See sendNotification method below.
            Log.d(TAG, "From: " + remoteMessage.getFrom());
            Log.d(TAG, "From: " + remoteMessage.getData().get("message"));
    //        Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
// if you sending data with custom key
 Log.d(TAG, "Notification Message of custom key: " +remoteMessage.getData().get("your key"));
            sendNotification(remoteMessage.getData().get("message"));
        }
查看更多
forever°为你锁心
3楼-- · 2019-04-09 09:34

I am sorry but what you are trying to do is not possible.

Currently it's not possible to access the (body, title, icon ...) information of a
notification-message from the activity that is launched when the notification is opened.

You can instead access the data component of the notification message.

One possible alternative is to use data-message messages and create your own custom notification and custom logic.

see notification-message vs data-message here:
https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

PS: if would be useful if you could report a Feature Request through the firebase support page.
In this way the team can correctly prioritize future features. https://firebase.google.com/support/contact/bugs-features/

查看更多
登录 后发表回答