如何通过Firebase发送主题消息?
我只找到了使用Firebase控制台发送的方式, 以及关于发布HTTP请求的一些方法, 但我不明白如何在Android中做到这一点。
如何在Android中编写一些代码 指定要定位的主题然后向主题发送消息?
感谢。
答案 0 :(得分:10)
向设备发送消息(所谓的下游消息)需要HTTP调用来指定服务器密钥。顾名思义,此密钥只应在您可信赖的环境中使用。您无法直接从设备向其他设备发送消息,包括主题。这diagram from the Firebase Cloud Messaging documentation shows the flow:
因此,如果您想从 Android应用发送消息,则必须:
在我们的博文Sending notifications between Android devices with Firebase Database and Cloud Messaging中描述了实现此类流程的一种方法。它使用Firebase数据库与服务器端脚本进行通信,然后调用FCM将消息发送到主题。这篇文章中的服务器端代码是Node.js脚本,因为它是我编写时最简单的方法。
但是上周Firebase发布了Cloud Functions for Firebase。这使您可以在不管理自己的基础架构的情况下运行服务器端代码,这使其非常适合您的用例。事实上,它是documentation on use-cases for Cloud Functions for Firebase中的第一个:
您将看到此示例中的方法与博客文章中的方法非常相似:都监听数据库写入以触发发送FCM消息。与博客文章相比,样本中的一些变化:
答案 1 :(得分:0)
如果您的应用已在Firebase控制台中注册,则您不仅可以通过Firebase控制台发送消息,还可以通过http客户端发送消息。 这是Fiddler向" news"发送通知的代码。主题
{ " to":" / topics / news", "通知":{ "身体":"你好伙计!", } }
或使用Android应用程序发送消息 sample from github