ios - iOS 离子应用程序没有收到 FCM 静默通知
问题描述
我有一个使用 FCM 进行聊天功能的 Ionic 3 应用程序。为了处理 FCM 消息,我使用了 cordova-plugin-fcm。
在我的应用程序中,我只使用静默模式(没有“通知”有效负载)。
它在安卓上运行良好。在 iOS 中,只有当它同时发送“数据”和“通知”有效负载时,我才会收到消息。如果我尝试使用静默模式,则根本不会传递消息。
对于 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(最简单的),
在 Project Navigator 中,选择您的项目。
在编辑器中,选择您的 iOS 应用目标。
- 选择功能选项卡。
- 启用后台模式功能。
- 启用远程通知后台模式。
推荐阅读
- swift - 将高斯模糊添加到图层背景颜色?
- javascript - 用函数反转回调的返回值 - not(callback)
- python-3.x - 如何使用 Google Colab 处理本地文件?
- javascript - Is there a regular expression which matches a single grapheme cluster?
- python - Run python script in background while sending subprocess stdout and stderr to PIPE
- c - c中带有char指针的二维数组
- bash - 在mac终端中bash osascript(AppleScript),顺序运行多个命令
- javascript - abnormal behavior javascript select alert
- jsf - 如果 primefaces 对话框通过“X”关闭按钮关闭,则清除表单或调用方法
- java - How to do toast queue?