【问题标题】:Sending notification to specific user向特定用户发送通知
【发布时间】:2017-03-12 16:52:51
【问题描述】:
我的应用程序有两个版本,一个用于客户,一个用于客户端,当客户采取特定操作(在客户应用程序中)时,我需要向特定客户端(在客户端应用程序中)发送推送通知。
我知道我应该使用 Firebase Cloud Messaging,因为它是 GCM 的新替代品,但我不知道如何在服务器端和客户端做到这一点。
【问题讨论】:
标签:
android
firebase
push-notification
google-cloud-messaging
firebase-cloud-messaging
【解决方案1】:
您有很多选择!
让我们从服务器端开始:
您有两种选择 HTTP 或 XMPP,HTTP 是一种单向连接 XMPP 是两种向。
对于您的应用,您需要 XMPP 用于上游和下游消息
检查那里的指南真的很棒:Server guide
还有一个 Java 和 Node.JS Admin SDK,但我不太了解。
但是有一个很棒的 Tutorial 描述了如果你使用 Node.js 的整个过程
那么会发生什么:
当设备发送上行消息时
Firebase 会将其转发到您的服务器
您的服务器应处理该消息并通过 Firebase 云消息将其发送到其他设备
您可以使用实时数据库实现无服务器应用程序,但您不会在后台接收消息,但是当接收器应用程序运行时,它会侦听数据库更改并向用户发送通知
您还可以让服务器“而不是接收者”监听数据库更改并对其采取行动“向其他设备发送消息”
编辑:
借助新的云功能特性,您现在可以使用它根据数据库事件向用户发送通知,
- 这样您就可以将消息添加到类中的数据库中
- 并制作一个云函数来监听此类写入事件
- 每当有消息保存到此类时,它都会将其发送到所需的
接收者
- 所以现在您不需要外部服务器来发送通知到
设备
查看this云函数示例,这是一个基于数据库事件发送通知的示例。