Известията ще се доставят до onMessageReceived
на приложението ви само когато приложението е на преден план. Когато приложението ви е във фонов режим или не работи, системата ще обработва известието и ще го покаже в системната област.
Документацията на Firebase го обяснява така:
Съобщение за известие - FCM автоматично показва съобщението на устройствата на крайния потребител от името на клиентското приложение. Съобщенията за известия имат предварително дефиниран набор от видими от потребителя ключове.
Съобщение за данни - Клиентското приложение е отговорно за обработката на съобщения с данни. Съобщенията с данни имат само персонализирани двойки ключ-стойност.
Тъй като искате кодът ви винаги да се извиква, ще трябва да изпращате съобщения с данни. Не можете да изпращате съобщения с данни от Firebase Console. Но ако вече изпращате съобщения от сървър на приложения, процесът за изпращане на съобщения с данни и съобщения за уведомяване там е същият. Единствената разлика е в структурата на JSON, където съобщенията с данни нямат notification
обект. От документацията за съобщения с данни
{
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data" : {
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
},
}