ios - Firebase 消息通知在 iOS 上不起作用

标签 ios cordova firebase firebase-cloud-messaging

我们正在使用 firebase 向 iOS 和 Android 设备发送通知。也尝试发送到 native iOS 应用程序,但也没有用。通知在 Android 上运行良好,但无法到达 iOS 设备。
奇怪的是,firebase 的响应是成功的。同一个应用程序能够从 cordova site 获得通知

以下是 FCM 的请求和响应:

Request:{"data":{"title":"Test notification from server code","body":"detailContent : some test data"},"to":"foqwNQ2JATY:APA91bHZRz6L7z6q3zyItYBh0eNaMv25d0CPjzPfbT4tTRrxNrkdKYwQM2pqvB-Q7ry3AEwCs8IduuYVBz834muWXnwjvt5I7mbMPbpPCw17bbBqFG4hhNdqDIO0xRdDQir8P2hz66WE","priority":"high"}

Response:{"multicast_id":6317092041813746870,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1519618961399427%7c1174a8f9fd7ecd"}]}

最佳答案

你的有效载荷必须是这样的:

{
"to" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...",
"notification" : {
  "body" : "great match!",
  "title" : "Portugal vs. Denmark",
  "icon" : "myicon"
},
"data" : {
  "Nick" : "Mario",
  "Room" : "PortugalVSDenmark"
}}

即使 Firebase 由于转发的 APNS 有效负载不正确而返回成功请求,在数据下拥有所有数据也不会触发 iOS 中的任何通知。
此外,正确的方法应该是遵循 GCM 或 FCM 有效负载建议,即使用通知消息的通知和自定义键/值对的数据。

当 FCM 向 APNS 发送数据时,它将其转换为 APNs 有效负载。它在 aps 中设置通知值标签,即
{
"aps" : {
    "alert" : {
        "title" : "Portugal vs. Denmark",
        "body" : "Portugal vs. Denmark",
    }
},
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"   }

更多信息请引用 this .

关于ios - Firebase 消息通知在 iOS 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48981447/

相关文章:

ios - Swift uitableview json删除行

javascript - 为什么这个 JavaScript 函数总是返回 'undefined'——如何解决这个问题?

javascript - Firebase 无法获取我的身份验证输入值

android - 下载属性在 Phonegap 应用程序中不起作用

Firebase 云消息传递 click_action 格式是否特定于平台?

android - Google firebase - 如何与其他应用共享数据库

ios - 自动布局与框架

ios - 如何从 subview 访问父 View 的 View Controller

ios - 将新对象插入数据库时​​出现 SwiftdynamicCast 错误

javascript - Phonegap 2.8 位置 : fixed is not working properly