【问题标题】:Notifying an App user When a Cloud Firestore Document is updated更新 Cloud Firestore 文档时通知应用用户
【发布时间】:2021-09-27 12:50:35
【问题描述】:

因此,在我当前的应用程序 (iOS) 中,我有两个不同的用户之间的关系,他们需要在更新特定的 Cloud Firestore 文档时相互通知(基本上是一个标志字段,表示另一个文档充满了“项目”是最终的,需要采取行动)。我在想有一种方法可以通过 FCM 做到这一点,但我以前从未使用过它。有没有办法让特定用户触发通知,以便可以通知他们链接到的其他用户(一对一关系)?对不起,这对我来说有点新鲜。我习惯于使用本地通知做很多事情,但对推送通知和/或云功能不太习惯。在可能在这里走错路之前,我想问一下这个问题并尽可能获得建议。任何帮助/想法将不胜感激:)

【问题讨论】:

  • 应用不会通过 FCM 向自身发送通知。
  • 那么,从另一个用户(公司)通知用户(客户)云 Firestore 文档已更新并需要审查/采取行动的最佳方式是什么?我认为在这种情况下,公司可以更新文档,并且可以以某种方式触发通知,然后将其发送给客户。不是这样吗?

标签: ios swift firebase-cloud-messaging


【解决方案1】:

FCM 中没有直接内置任何内容来在特定数据库更改时通知用户,但您当然可以在检测到此类更改时调用 FCM API 发送消息。

要记住的最重要的一点是,用于发送消息的 FCM API 只能从受信任的环境(例如您的开发机器、您控制的服务器或云函数)安全地调用。

有关使用 Cloud Functions 在数据库更改时发送通知的示例,请参阅Notifying users when something interesting happens 上的文档。

另见:

【讨论】:

  • 感谢您的回复。所以,如果我理解正确,我需要设置一个云功能,当文档更新时触发,然后它会通过 FCM 发送通知。那正确吗?很抱歉提出这样的基本问题。我以前使用过 Firebase,但没有使用通知或功能。看起来有点复杂。设置云功能触发器难吗?我什至应该从哪里开始?你能总结一下我需要采取的步骤吗?
  • 我查看了链接“当有趣的事情发生时通知用户”,这通常是一个很好的描述,但我对我需要安装、编码和测试我的项目感到困惑。我能够通过控制台推送通知,但我需要在每个用户更新该文档时触发通知。有点想 - “标签,你就是它”之类的东西。
  • 这正是我链接的第一个示例所做的。这是一个复杂的用例,因此代码确实比您可能习惯的要复杂得多。如果您遇到特定问题,如果您使用 minimal, complete/standalone code that reproduces where you got stuck 发布新问题,我们可能会提供帮助(请也阅读此链接,因为它非常有用并且增加了有人可以提供帮助的机会)。
  • 谢谢!如果我遇到困难,我会看看并发布。我只是想要一个简短的了解,并知道我想做的事情是否可能/合乎逻辑。我不想浪费大量时间走错路:)
  • 我在这里看到了很多关于使用 Flutter 发送到 APNs 的内容。您在许多此类和其他有关安全风险的帖子中也有 cmets。我想确保我的通知是安全的。话虽如此,使用 Flutter 是一个可行的选择,还是我应该坚持使用云功能?
猜你喜欢
  • 2018-09-21
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 2020-03-23
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
相关资源
最近更新 更多