As notificações serão entregues no
onMessageReceived
do seu aplicativo somente quando o aplicativo está em primeiro plano. Quando seu aplicativo estiver em segundo plano ou não estiver em execução, o sistema processará a notificação e a exibirá na bandeja do sistema. A documentação do Firebase explica assim:
Mensagem de notificação - O FCM exibe automaticamente a mensagem para os dispositivos do usuário final em nome do aplicativo cliente. As mensagens de notificação têm um conjunto predefinido de teclas visíveis ao usuário.
Mensagem de dados - O aplicativo cliente é responsável pelo processamento de mensagens de dados. As mensagens de dados têm apenas pares de valores-chave personalizados.
Como você deseja que seu código seja sempre invocado, você precisará enviar mensagens de dados. Você não pode enviar mensagens de dados do Firebase Console. Mas se você já envia mensagens de um servidor de aplicativos, o processo de envio de mensagens de dados e mensagens de notificação é o mesmo. A única diferença está na estrutura JSON, onde uma mensagem de dados não tem uma
notification
objeto. Da documentação sobre mensagens de dados {
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data" : {
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
},
}