Проблема, с которой вы столкнулись, связана со структурой полезной нагрузки JSON.
См. этот вопрос здесь для получения дополнительных примеров.
В результате, если у вас есть ключ и значение объекта «уведомление», вы не сможете обработатьonMessageПолучено в фоновом режиме.
//Will not work in your situation
{
"notification":{
"title": "hello",
"body": "this is body"
},
"to": "c5iuJ7iDnoc:APA91bG6j2c5tiQ3rVR9tBdrCTfDQYxkPwLuNFWzRuGHrBpWiOajR-DKef9EZEEVKA-kUBfXVcqHT-mClYfad06R_rBjhRZFKVdBL7_joXE5hFEwR45Qk8wgQdia2b-LmjI1IheFGZS8"
}
Хотя это будет работать, потому что уведомление отсутствует, но присутствует ключ «данные».
//This will work for your situation
{
"data":{
"title": "hello",
"body": "this is body"
},
"to": "c5iuJ7iDnoc:APA91bG6j2c5tiQ3rVR9tBdrCTfDQYxkPwLuNFWzRuGHrBpWiOajR-DKef9EZEEVKA-kUBfXVcqHT-mClYfad06R_rBjhRZFKVdBL7_joXE5hFEwR45Qk8wgQdia2b-LmjI1IheFGZS8"
}
Еще одна вещь, если у вас есть и ключи «уведомления», и «данные», по умолчанию будет использоваться первый пример, и вы не сможете вручную обработать его в onMessageReceived