如何从云功能向设备(而不是用户)发送推送通知?

时间:2018-05-27 17:34:49

标签: firebase firebase-cloud-messaging

看起来FCM是向设备发送消息的新方式,但我似乎无法理解如何将此服务用于应用内服务消息。

例如:我的服务器处理从firestore数据库触发的云功能中的数据。完成后,它应该向所有已计算新数据的设备发送通知。

我知道我可以使用FCM执行此操作,但这些消息不是为用户设计的,它们表示某些后台进程应该开始与服务器同步,不需要或不需要用户操作。

目前还没有这种方法的解决方案吗? GCM已被弃用,当应用程序不在前台时,FCM似乎不允许我调用服务来执行后台操作。

我是否概述了谷歌目前不支持的用例?

1 个答案:

答案 0 :(得分:2)

FCM支持两种类型的消息:

  • 通知消息,有时被视为“显示消息”。这些由FCM SDK自动处理。
  • 数据消息,由客户端应用程序处理。

您需要数据消息,这是要使用的格式:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}

https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages