我有一个使用FCM进行聊天功能的离子3应用程序。要处理FCM消息,我使用Cordova-Plugin-fcm。
在我的应用程序中,我仅使用静音模式(没有"通知"有效载荷)。
它在Android上正常工作。在iOS中,我仅在发送带有"数据"one_answers"通知"有效载荷的消息时才收到消息。如果我尝试使用静音模式,则根本不会传递消息。
对于iOS,我使用FCM,而不是APN。
我发送FCM消息如Cordova-Plugin-fcm。
{
"data":{
"param1":"value1",
"param2":"value2"
},
"to":"/topics/topicExample",
"priority":"high",
}
这些东西在Android和iOS上的工作方式不同。您需要在通知中定义iOS特定的apns.payload.aps对象。
apns: {
payload: {
"aps" : {
"content-available" : 1
},
"acme1" : "bar",
"acme2" : 42
}
}
您还需要在PLIST中允许远程背景通知。如果您使用的是Xcode(最简单),
在项目导航器中,选择您的项目。
在编辑器中,选择您的iOS应用程序目标。
- 选择"功能"选项卡。
- 启用背景模式。
- 启用远程通知背景模式。
来源:https://developer.apple.com/library/archive/documentation/networkinginternet/conceptual/remotenotificationpg/creatingingtegtegthenotificationpay.htmlload.htmllload.html#/Div>