我正在尝试在iOS和Android上实施通知操作,但是,在通知类型方面我遇到了问题。通知可以是数据类型或通知类型。
对于Android,包含通知和数据有效负载的消息均被视为notification messages,并且Firebase SDK不处理通知消息,这意味着我无法对其执行任何操作。
并且,如Firebase documentation中所述,通知有效负载中的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文档的platform-specific notification section似乎暗示这是可能的,但是,我无法弄清楚如何实现它,例如以下提供了一个空通知,未添加category
:
"apns": {
"payload": {
"aps": {
"alert": {
"body": "world 1555491614 in notification",
"title": "Hello"
}
"category": "pusher"
}
}
}