当应用程序处于后台时,没有使用 Firebase 调用 didReceiveRemoteNotification

Posted

技术标签:

【中文标题】当应用程序处于后台时,没有使用 Firebase 调用 didReceiveRemoteNotification【英文标题】:When app is in background didReceiveRemoteNotification not called with Firebase 【发布时间】:2017-06-23 15:23:56 【问题描述】:

我使用 Firebase 发送这个 JSON:


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

didReceiveRemoteNotification:fetchCompletionHandler 在应用处于后台时不会被调用。

我启用后台模式 - 来自功能的远程通知。

有什么建议吗?

【问题讨论】:

【参考方案1】:

您的 content-available 键/值不正确。键是content_available(下划线,不是破折号),值是布尔值,而不是字符串:


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

见Table 1 of the HTTP Server Protocol document:

ios 上,使用此字段表示 APN 中的可用内容 有效载荷。当发送通知或消息并将其设置为 是的,一个非活动的客户端应用程序被唤醒。在 android 上,数据消息唤醒 默认情况下的应用程序。在 Chrome 上,目前不支持。

【讨论】:

这是 Firebase 生成的!在服务器端,您设置 ContentAvailable 属性和由 Firebase 库控制的名称。【参考方案2】:

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

如图所示,远程通知的最后一个选项选中此选项

【讨论】:

以上是关于当应用程序处于后台时,没有使用 Firebase 调用 didReceiveRemoteNotification的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序处于后台时,Firebase 通知图标不会出现

FIREBASE_MESSAGING:当应用程序处于后台或终止时,onBackgroundMessage 不处理通知

当应用程序打开或应用程序处于后台时,Phonegap Firebase 推送通知不会触发事件侦听器

android在后台处理大图片firebase通知

iOS 应用未收到来自 Firebase 的后台推送通知

当应用程序处于后台状态(Android)时,远程推送通知提示无法在本机反应中工作