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" }
我希望这有助于,它为我做了