向特定用户发送通知

Sending notification to specific user

我的应用程序有两个版本,一个用于客户,一个用于客户,当客户采取特定操作(在客户应用程序中)时,我需要向特定客户(在客户应用程序中)发送推送通知。

我知道我应该使用 Firebase Cloud Messaging,因为它是 GCM 的新替代品,但我不知道如何在服务器端和客户端执行此操作。

这里有很多选择!

让我们从服务器端开始:

您有两个选项 HTTP 或 XMPP,HTTP 是一种单向连接 XMPP 是双向的。

对于您的应用,您需要 XMPP 用于上游和下游消息 在那里查看指南它真的很棒:Server guide

还有一个 Java 和 Node.JS Admin SDK,但我不太了解。 但是有一个很棒的 Tutorial 描述了整个过程,如果你选择 Node.js

那么会发生什么:

当设备发送上游消息时

Firebase 会将其转发到您的服务器

您的服务器应处理该消息并通过 Firebase 云消息将其发送到其他设备


您可以使用实时数据库实现无服务器应用程序,但您不会在后台接收消息,但是当接收方应用程序 运行 它会监听数据库更改并向用户发送通知 您还可以让服务器监听数据库更改 "instead of receiver" 并对其采取行动"send a message to the other device"



编辑:

借助新的云功能功能,您现在可以使用它根据数据库事件向用户发送通知,

  • 因此您可以将消息添加到数据库中 class
  • 并创建一个云函数来监听这个class写事件
  • 并且每当有消息保存到此 class 时,它都会将其发送到所需的 接收者
  • 所以现在你不需要外部服务器来发送通知 设备

查看this云函数示例,这是一个基于数据库事件发送通知的示例。