SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Não é possível inserir o registro no banco de dados SQLite do Firebase Message Service quando o aplicativo está em segundo plano ou no estado fechado


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"
   },
}