使用Firebase数据消息时,Notification Service Extension无法处理数据消息

时间:2018-11-06 09:03:34

标签: ios swift firebase apple-push-notifications firebase-cloud-messaging

该应用程序同时在iOS和Android上运行,为了使此通知在两个平台上均能正常工作,我从通知json负载中删除了notification字段。但是现在,iOS在后台时无法处理此通知。

此版本可在iOS上使用,但它有notification字段,我想要。

{
  "registration_ids": [
        "...",
        "..."
    ],
  "priority": "high",
  "notification": {
    "body": "Notification Body.",
    "title": "Notification Title"
  },
  "data": {
    "userId": "11111",
    "badge": 10
  }
}

此功能在android上有效,但不能在后台下在iOS上有效:

{
  "registration_ids": [
        "...",
        "..."
    ],
  "mutable_content": true,
  "content_available": true,
  "data": {
    "click_action": "AndroidIntent"
    "message": "Notification Body",
    "myDataField": "11",
    "location": "3",
    "imageurl": "http://image.com/13fd.png"
  }
}

最下面的一个甚至没有输入我的Notification Service Extension。如何确定在没有在json上添加notification字段的情况下调用了Notification Service Extension?

2 个答案:

答案 0 :(得分:0)

我有相同的想法。我当时正在考虑从firebase推送本地通知中接收具有自定义标题和正文以及通知服务范围的数据。通过在didReceiveRemoteNotification userInfo:中实现appDelegate来接收userInfo,此想法在前台工作得很好。

但是通过启用content_available在后​​台模式下不起作用。您使用 APN服务器发送通知,而不使用与firebase docs.相关的 Fcm服务器发送通知。我建议您看看content_availablemutable_content

答案 1 :(得分:0)

删除content_available,因为这是处理静默通知的属性。