In your question you are sending a data-message, which is a message with a payload like:
{"registration_ids" : ["token1"], "data" : { "key1" : "value1"}}
To receive the data
payload (in the example: key1:value1), the client app should to use:
String value1 = remoteMessage.getData().get("key1");
FCM also supports display-messages.
Example:
{"registration_ids" : ["token1"], "notification" : { "body" : "hello"}}
These messages are automatically displayed when the app is in background.
And they call onMessageReceived()
only if the app is already open and in foreground.
In this second case you can access the field of the original notification via: remoteMessage.getNotification().getBody()
Display messages can also include a {"data" : { "key1" : "value1"}}
.
If the app is in foreground it can access these values like a data-message.
If the app in bakground you need to wait until the user click the notification and starts an activity.
At that point you can access the data via: getIntent().getExtras()
PS: the notifications sent via Firebase Web Console are only display-messages.