【问题标题】:Sending Push Notifications When a Firebase Real Time Database Node is UpdatedFirebase 实时数据库节点更新时发送推送通知
【发布时间】:2016-12-08 17:31:13
【问题描述】:

我创建了一个使用 firebase 实时数据库和存储的应用程序。我的应用程序允许用户互相发送消息,但我不确定如何在用户收到新消息时通知他们。我将所有消息存储在一个称为消息的节点中。然后,我将消息关系存储在称为“用户消息”的不同节点中。如何监视“用户消息”节点以通过通知通知用户他们有新消息?我熟悉观察事件类型等,即:.Value 和 .ChildAdded,但我不确定如何触发事件以向用户发送通知。

编辑:更加清晰。

【问题讨论】:

标签: ios swift firebase push-notification notifications


【解决方案1】:

【讨论】:

  • 我对如何设置 XMPP 服务器一无所知。我试图设置 ejabbered 但它甚至不会让我进行身份验证。你是用什么开始的。我查看了 firebase 的文档,但我不知道该怎么做他们所说的
【解决方案2】:

所以我意外地没有看到 Firebase 可以使用 Google Cloud Messaging,这似乎可以做我想做的事。供将来参考,firebase 已将 IOS 设置放在这里:Firebase Cloud Messaging SetUp

【讨论】:

  • 我无法让它做我想做的事,所以我最终使用了 One Signal 的 SDK,它对我有用。
【解决方案3】:

正如您所提到的,您可以使用child_added 事件来监控每当有新消息添加到user-messages 时,firebase 将在添加新子时调用您的事件处理程序。

ref.child('user-messages').on('child_added', (snapshot) => {
  // Read the message and send notification here
})

您可能希望在处理完user-message 后也对其进行更新,以免在您的应用重新启动时发送重复的通知。

【讨论】:

  • 我需要它在应用未运行或应用处于后台时提醒用户。
  • 这应该发生在服务器端。因此,应用程序是否未运行或在后台运行并不重要。
  • 我想我们可能在这里互相交谈。快照仅在您将它们放入函数中然后调用该函数时发生,或者您在视图已加载或将加载时执行此操作。这意味着观察者只会在被调用时观察数据库。这意味着用户无法收到警报,除非他们在该视图中并且应用程序必须正在运行。我需要一些可以在应用程序未运行时观察我的数据库的东西,然后在节点更​​新时向用户发送通知。
猜你喜欢
  • 2016-10-15
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 1970-01-01
  • 2021-07-29
  • 2017-11-29
  • 1970-01-01
相关资源
最近更新 更多