SQLite
 sql >> Database >  >> RDS >> SQLite

Impossibile inserire record nel database SQLite da Firebase Message Service quando l'app è in background o chiusa

Le notifiche verranno inviate al onMessageReceived della tua app solo quando l'app è in primo piano. Quando la tua app è in background o non è in esecuzione, il sistema gestirà la notifica e la visualizzerà nella barra delle applicazioni.

La documentazione di Firebase lo spiega come:

Messaggio di notifica - FCM mostra automaticamente il messaggio ai dispositivi degli utenti finali per conto dell'app client. I messaggi di notifica hanno un insieme predefinito di chiavi visibili all'utente.

Messaggio di dati - L'app client è responsabile dell'elaborazione dei messaggi di dati. I messaggi di dati hanno solo coppie chiave-valore personalizzate.

Poiché vuoi che il tuo codice sia sempre invocato, dovrai inviare messaggi di dati. Non puoi inviare messaggi di dati da Firebase Console. Ma se invii già messaggi da un server dell'app, il processo per l'invio di messaggi di dati e messaggi di notifica è lo stesso lì. L'unica differenza è nella struttura JSON, dove un messaggio di dati non ha una notification oggetto. Dalla documentazione sui messaggi di dati

{
   "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
   "data" : {
     "Nick" : "Mario",
     "body" : "great match!",
     "Room" : "PortugalVSDenmark"
   },
}