Powiadomienia będą dostarczane do onMessageReceived
Twojej aplikacji tylko wtedy, gdy aplikacja jest na pierwszym planie. Gdy Twoja aplikacja działa w tle lub nie jest uruchomiona, system obsłuży powiadomienie i wyświetli je w zasobniku systemowym.
Dokumentacja Firebase wyjaśnia to tak:
Powiadomienie - FCM automatycznie wyświetla wiadomość na urządzeniach użytkowników końcowych w imieniu aplikacji klienckiej. Powiadomienia mają wstępnie zdefiniowany zestaw kluczy widocznych dla użytkownika.
Wiadomość dotycząca danych - Aplikacja kliencka jest odpowiedzialna za przetwarzanie komunikatów danych. Wiadomości z danymi mają tylko niestandardowe pary klucz-wartość.
Ponieważ chcesz, aby Twój kod był zawsze wywoływany, musisz wysyłać wiadomości z danymi. Nie możesz wysyłać wiadomości z danymi z Konsoli Firebase. Ale jeśli już wysyłasz wiadomości z serwera aplikacji, proces wysyłania wiadomości z danymi i powiadomień jest tam taki sam. Jedyną różnicą jest struktura JSON, w której komunikaty danych nie mają notification
obiekt. Z dokumentacji dotyczącej wiadomości z danymi
{
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data" : {
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
},
}