Я использую облачные функции (node.js) для отправки уведомлений на устройства. Моя полезная нагрузка настроена так:
const payload = {
notification: {
title: payloadSender,
body: payloadMessage,
},
data: {
chatId: chatId,
},
android: {
priority: 'normal',
collapse_key: chatId,
//todo how to set badge?
notification: {
sound: 'messageSent.wav',
},
},
apns: {
headers: {
'apns-priority': '5',
'apns-collapse-id': chatId,
},
payload: {
aps: {
badge: newUnreads,
sound: 'messageSent.wav',
'content-available': 1,
}
}
}
};
Согласно документации Firebase, вы можете использовать поля «android» и «apns» для специфического поведения устройства. Ниже приведено JSON-представление , найденное здесь для Сообщения, отправленного FCM:
{
"name": string,
"data": {
string: string,
...
},
"notification": {
object(Notification)
},
"android": {
object(AndroidConfig)
},
"webpush": {
object(WebpushConfig)
},
"apns": {
object(ApnsConfig)
},
// Union field target can be only one of the following:
"token": string,
"topic": string,
"condition": string
// End of list of possible types for union field target.
}
Почему я получаю ошибку Messaging payload contains an invalid "android" property. Valid properties are "data" and "notification".
И Messaging payload contains an invalid "apns" property. Valid properties are "data" and "notification".
?