使用Firebase实时数据库发送聊天应用构建的推送通知

时间:2017-02-06 10:15:14

标签: ios firebase push-notification firebase-realtime-database firebase-cloud-messaging

我目前正在使用 Firebase实时数据库来构建聊天应用程序。我以this Raywenderlich tutorial为起点学习Firebase。

在我的情况下,我需要在有新消息时发送推送通知(还有其他 Firebase中的数据库更改的推送通知)。 我知道有FCM和Firebase Notification发送推送通知,但它们只能从HTTP请求外部触发。

我不介意拥有自己的Node.js服务器来实现这一目标,但我该怎么做? 如何跟踪有新消息的位置(更改数据库)。

什么是Firebase Admin SDK?我应该使用它吗? 我是Firebase的新手,有点迷路了。有人能让我走上正轨吗?

3 个答案:

答案 0 :(得分:0)

您可以使用云功能执行此操作。

  1. 该函数触发对实时数据库的写入" / notifications / {uid} / something"。
  2. 该功能组成要通过FCM发送的消息。
  3. FCM将通知消息发送给用户的设备。
  4. 查看本教程here,了解如何创建函数触发器。

    如果您需要了解如何发送通知消息,请查看本教程here

答案 1 :(得分:0)

你是对的,你应该使用管理服务器。

@AM_ answer是一个好的开始:你需要一个监听数据变化的后台任务。但现在有更好的方法来做到这一点。

Firebase has a queue system,允许您创建多个工作程序来处理后台作业。 以下是一个例子:https://github.com/mcdonamp/sanichat

而不是直接构建使用FCM的http POST请求,Firebase Admin Node.Js SDK确实为FCM提供了API。 Java版本还没有。

最后,这是关于Admin SDK的nice Firebase team blog post

答案 2 :(得分:0)

当我问这个问题时,Google没有Firebase cloud functions。如果有人偶然发现这个问题,我终于使用云功能(仍处于测试阶段)解决了这个问题。

Cloud Functions for Notifications use case