【问题标题】:Send push notification for chat app build using Firebase Realtime Database使用 Firebase 实时数据库发送聊天应用程序构建的推送通知
【发布时间】:2020-12-18 21:16:14
【问题描述】:

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

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

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

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

【问题讨论】:

  • @FrankvanPuffelen 感谢您的博客。很有用
  • 您有什么简单的解决方案吗?如果你知道任何想法,请告诉我。我想实现同样的。

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


【解决方案1】:

当我问这个问题时,谷歌没有Firebase cloud functions。万一有人偶然发现这个问题,我最终使用 Cloud Functions(仍处于测试阶段)解决了这个问题。

Cloud Functions for Notifications use case

【讨论】:

    【解决方案2】:

    您可以使用 Firebase Cloud Functions 来执行此操作。

    1. 该函数在写入实时数据库“/notifications/{uid}/something”时触发。
    2. 该函数编写要通过 FCM 发送的消息。
    3. FCM 将通知消息发送到用户的设备。

    查看本教程here,了解如何创建函数触发器。

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

    【讨论】:

      【解决方案3】:

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

      @AM_ 答案是一个好的开始:您将需要一个后台任务来监听数据更改。但现在有更好的方法来做到这一点。

      Firebase has a queue system,允许您创建多个工作人员来处理后台作业。 这是一个示例实现:https://github.com/mcdonamp/sanichat

      Firebase Admin Node.Js SDK 并没有直接构建一个 http POST 请求来使用 FCM,而是为 FCM 提供了一个 API。 Java版还没有。

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

      【讨论】:

        猜你喜欢
        • 2018-11-14
        • 2016-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-02
        • 1970-01-01
        相关资源
        最近更新 更多