Firebase Cloud Messaging поддерживает два типа сообщений: уведомление и сообщение с данными. Разница между ними заключается в том, что в сообщении с данными вы можете отправлять свои собственные элементы данных в сообщении, где, как и в уведомлении, вы должны использовать предопределенные элементы.
Как следует из названия, тип уведомительных сообщений используется для отправки уведомлений, которые будут отображаться в виде уведомлений в панели уведомлений. FCM автоматически обрабатывает уведомления, и ваше приложение также может обрабатывать его и настраивать. Тип сообщения данных используется для отправки данных клиенту. Ваше приложение должно обработать его и предпринять дальнейшие действия. Существует ограничение в 4 КБ на размер сообщения, которое может быть отправлено клиенту.
Уведомление в формате JSON
{"message":{"topic":"deals","notification":{"body":"View latest deals from top brands.","title":"Latest Deals"}}}
Сообщение данных в формате JSON
{"message":{"topic":"deals","data":{"storeNAME":"Nordstorm","deal":"Get upto 50% off on Shoes","dealDesc":"Get upto 50% off on branded shoes.","expiry":"20180110","code":"NORDSH"}}}
Уведомление и сообщение данных в формате JSON
{"message":{"topic":"deals","data":{"storeNAME":"Nordstorm","deal":"Get upto 50% off on Shoes","dealDesc":"Get upto 50% off on branded shoes.","expiry":"20180110","code":"NORDSH"},"notification":{"body":"View latest deals from top brands.","title":"Latest Deals"}}}
Обратите внимание, что в сообщении данных в элементе данных допускаются только пары имя и значение, то есть элемент данных не может иметь иерархические данные или массив JSON.