当app处于后台时,不会使用Firebase调用didReceiveRemoteNotification

使用Firebase,我发送此JSON:

{ "data": { }, "priority": "high", "to": "xxxxx", "content-available": "true", "notification": { "body": "HI!", "title": "FCM Message", "badge": 1, "sound": "Default" } } 

但是didReceiveRemoteNotification:fetchCompletionHandler当app在后台时,不会调用didReceiveRemoteNotification:fetchCompletionHandler

我启用了后台模式 – 来自function的远程通知。

有什么建议么?

您的内容可用键/值不正确。 关键是content_available (下划线,而不是破折号),值是布尔值,而不是字符串:

 { "data": { }, "priority": "high", "to": "xxxxx", "content_available": true, // <= CHANGED "notification": { "body": "HI!", "title": "FCM Message", "badge": 1, "sound": "Default" } } 

请参阅HTTP服务器协议文档的表1 :

在iOS上,使用此字段表示APNs有效内容中可用的内容。 发送通知或消息并将其设置为true时,将唤醒非活动客户端应用程序。 在Android上,数据消息默认唤醒应用程序。 在Chrome上,目前不支持。

确保打开远程通知的后台模式,如果没有,则单击工作区并进入function并打开后台模式

在此处输入图像描述 如图像最后一个选项用于远程通知,请选中此选项