我正在实现我的自定义FCM服务器,用于向Android和IOS设备发送通知。我需要使用 DataMessage 向两个操作系统发送自定义键值对,我的数据消息如下所示:
{
"content_available": true,
"data": {
"lan": "IT",
"messageId": "67",
"message": "test message"
},
"registration_ids": [
"..."
],
"priority": "high"
}
当应用程序处于前台和后台时,Android 会正确接收通知。IOS 仅在应用处于前台时接收数据。怎么了?
我为同样的事情拔头发,试图让它在Android和iOS上运行。事实证明你不能。
在 Android 中,如果是数据有效负载,它将在后台工作,而通知有效负载将无法在后台工作。
在 iOS 中,如果您发送通知有效负载,则它会在后台工作,但数据有效负载不会在后台工作。有关详细信息,请参阅此问题
似乎您必须为另一个平台牺牲一个平台。