cordova,Firebase,FCM插件 – 不在iOS的通知栏中显示通知

我正在用cordova: cordova-plugin-fcm使用这个插件来使通知正常工作。

它在Android上运行良好。

问题与iOS,当应用程序在前台通知到达。 但是,当应用程序closures或在后台,通知不会显示在通知栏中,但是当我打开应用程序,我可以看到通知到达,我产生的popup窗口被打开。

但我真的需要通知显示在locking屏幕和通知栏中。

这就是我要发送到Firebase API的内容:

/ POST to https://fcm.googleapis.com/fcm/send

而在我的身体发送这个:

 { "to" : <USER_TOKEN>, "alert":"Test", "notification": { "alert":"Test test", "title": "Notification test", "text": "Testing notification text" }, "priority": 10, "content_available": true } 

我也试过"priority": "high"并得到相同的结果。

通知到达,但它只显示当我打开应用程序。 我甚至没有通知栏或locking屏幕。

此外,我试图在体内添加"aps"属性,所有的内部信息…不起作用。

我希望有人能够对此进行点亮

PS: iOS v10.1.1

PS2:适用于所有的Android设备。

我已经阅读了社区的一些答案,但似乎没有工作:

使用API​​时,Firebase API不会发送推送通知

iOS没有收到通过API发送的Firebase推送通知

谢谢你的时间。

您是否在console.firebase.google.com上上传您的开发APN证书,

将您的APNs证书上传到Firebase。 如果您还没有APN证书,请参阅configurationAPN SSL证书。

在Firebase控制台中的项目中,select齿轮图标,select“项目设置”,然后select“云消息传递”选项卡。 为您的开发证书,生产证书或两者select上传证书button。 至less需要一个。 对于每个证书,请select.p12文件,并提供密码(如果有)。 确保此证书的包ID与您的应用的包ID匹配。 select保存。

您可以参考链接https://firebase.google.com/docs/cloud-messaging/ios/client

我有同样的问题,首先,你需要使用“身体”,而不是“文本”; 对于优先级,您应该始终使用“高”或“正常”,对于推送通知,默认值应该很高。 如果您忘记在Jsonstring的通知对象中使用“title”和“body”键,则iOS不会将通知显然添加到通知列表中。

如果你想要一些自定义值,那么添加一个自定义值的数据对象。 喜欢这个:

  "data":{ "data1":"value1", "data2":"value2" } 

所以试试这样的事情:

 { "to" : <USER_TOKEN>, //or /topics/<topicname> or /topics/all" "notification": { "title": "Notification test", "body": "Testing notification text" }, "priority": high, "sound":"default", //not using this one wont make your iOS device use sound "click_action":"FCM_PLUGIN_ACTIVITY", "icon":"fcm_push_icon" } 

结合数据对象:

  { "to" : <USER_TOKEN>, //or /topics/<topicname> or /topics/all" "notification": { "title": "Notification test", "body": "Testing notification text" }, "data":{ "data1":"value1", "data2":"value2" }, "priority": high, "sound":"default", //not using this one wont make your iOS device use sound "click_action":"FCM_PLUGIN_ACTIVITY", "icon":"fcm_push_icon" } 

我希望这有助于,它为我做了