【问题标题】:How to send message to the topic in Android如何在Android中向主题发送消息
【发布时间】:2017-03-16 14:36:29
【问题描述】:

如何通过 Firebase 发送主题消息?

我只找到了使用 Firebase Console 发送的方式, 以及一些关于 Post HTTP 请求的方法, 但我不明白如何在 Android 中做到这一点。

如何在 Android 中编写一些代码 指定要定位的主题然后向该主题发送消息?

谢谢。

【问题讨论】:

  • 您可能需要在 android 和 firebase 之间建立一个服务器才能使其正常工作...

标签: android firebase push-notification firebase-cloud-messaging


【解决方案1】:

向设备发送消息(所谓的下游消息)需要一个指定服务器密钥的 HTTP 调用。顾名思义,此密钥只能在您可以信任的环境中使用。您不能直接将消息从设备发送到其他设备,包括主题。这个diagram from the Firebase Cloud Messaging documentation shows the flow

因此,如果您想 Android 应用发送消息,您必须:

  1. 创建 Android 应用与之对话的服务器端代码
  2. 有那个服务器端代码call Firebase Cloud Messaging to send messages
  3. 让 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 消息。与博客文章相比,示例中的一些变化:

【讨论】:

    【解决方案2】:

    如果您的应用在 Firebase 控制台中注册,您不仅可以通过 Firebase 控制台发送消息,还可以通过任一 http 客户端发送消息。 这是 Fiddler 向“新闻”主题发送通知的代码

    1. 网址:https://gcm-http.googleapis.com/gcm/send
    2. 标题: 内容类型:application/json 授权:key=[YOUR_APP_API_KEY]
    3. 正文:

    { "to": "/topics/news", “通知”: { "body": "你好,伙计!", } }

    或使用安卓应用发送消息 sample from github

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      相关资源
      最近更新 更多