Я пытаюсь реализовать действия по уведомлению на iOS и Android, однако сталкиваюсь с проблемами, когда речь идет о типах уведомлений.Уведомления могут быть либо тип данных , либо тип уведомления .
Что касается Android, сообщения, содержащие как уведомления, так и полезные данные, обрабатываются как сообщения уведомлений и уведомления не обрабатываются Firebase SDK, то есть я не могу прикрепить к ним какие-либо действия.
И, как объяснено в Документация Firebase , ключ click_action
в полезной нагрузке уведомлениятребуется для уведомлений iOS с действием для работы.
В настоящее время моя полезная нагрузка выглядит следующим образом:
{
"to" : "<token>",
"notification" {
"title": "Hello",
"body": "world 1555491614 in notification",
"click_action": "pusher",
"sound": "default",
"volume": "1"
},
"data": {
"title": "Hello",
"body": "world 1555491614 in data",
"volume": "1",
"type": "trip_generated"
"tripId": 12345
},
"android": {
"priority": "high",
},
"apns": {
"headers": {
"apns-priority": "10"
}
}
}
Таким образом, уведомления с действиями могут быть реализованы только для устройств iOS.Если я удаляю клавишу notification
, уведомления будут обрабатываться как сообщения данных , а на устройствах Android можно прикреплять кнопки действий.
Можно ли создать универсальную полезную нагрузку, которая бы обслуживала обаiOS и Android?
Раздел уведомлений для платформы документации Firebase, кажется, предполагает, что это возможно, однако я не смог выяснить, как это реализовать, например:следующее доставляет пустое уведомление, category
не добавляется:
"apns": {
"payload": {
"aps": {
"alert": {
"body": "world 1555491614 in notification",
"title": "Hello"
}
"category": "pusher"
}
}
}