我正在使用FCM
为展台平台iOS
和Android
中的项目发送通知。以下是我发送的payloads
:
{
"to":"user_key",
"priority":"high",
"content_available":true,
"mutable_content":true,
"data":{
"body":"test"
}
}
阅读Firebase
文档后,通过FCM
发送notification
和data payload
时的行为为:
iOS
- 如果未定义
notification
->body
,则不会看到横幅
安卓
- 如果您只通过
data payload
,它将在处于background
时接收数据 - 如果您通过
notification_payload
,system tray
将处理它
问题是:
对于Android
,我希望避免在应用程序处于后台时通过notification_payload
来接收数据(这样就会调用onMessageReceived(((。但是,我不会在iOS
中收到notifications
。
感谢您的帮助/建议。
Server应该为IOS和Android推送请求使用不同的json结构。例如:
安卓系统:
[data] => Array
(
[title] => Test
[message] => Message
)
IOS:
[notification] => Array
(
[title] => Title
[body] => Body
[sound] => 1
[vibrate] => 1
)
[data] => Array
(
[custom_key] => custom_value
)
您可以根据自己的任务进行编辑。