【问题标题】:Implementing a notification system for sending/accepting friend request using firebase cloud functions and firestore使用firebase云功能和firestore实现发送/接受好友请求的通知系统
【发布时间】:2021-05-26 10:10:42
【问题描述】:

我正在尝试实现一个通知系统来处理类似于好友请求通知的通知。例如,我写了我想向其发送好友请求的人的电子邮件。然后点击发送请求。我很困惑在那之后,究竟应该发生什么?

现在我在想,在单击发送请求时,我会在“通知”集合中的云 Firestore 中创建一个文档,然后调用一个云函数,该函数使用该电子邮件向用户发送推送通知。用户现在可以选择接受或拒绝请求。选择其中任何一个操作都会更新通知文档,该文档将再次调用云功能,将两个用户添加到彼此的朋友列表中并通知第一个用户。

所以我的问题是:-

  1. 此方法是否适合在生产应用程序中实施,因为它涉及许多云函数调用和文档读取和写入?或者更好的问题 - 您将如何在生产级应用中实现这样的功能?
  2. 是否有任何其他方法既安全(从某种意义上说,任何人都不应该通过更改前端代码来破坏这个过程)和高效(更少的读/写/调用)?
  3. 可以在不创建任何文档的情况下完成此操作吗?纯粹通过云功能?那么它是否能够捕获其他用户对好友请求的响应并进行必要的更改?

【问题讨论】:

    标签: firebase google-cloud-firestore google-cloud-functions firebase-cloud-messaging


    【解决方案1】:

    对于您描述的问题,我会以您正在做的方式处理它,实际上这里并没有那么多操作,因为您将有 2 次 Firestore 写入和 2 次云函数调用,而不是提到第二次调用可能需要很长时间才能被触发,具体取决于用户的操作,因此您不需要比这更有效。

    对于你最后一个问题,我想说的是,如果没有通过 Firestore 的信息,很难实现这一点,因为你需要存储对好友请求的接受,并且出于上述相同的原因,你需要存储该信息某处,即使是暂时的。

    【讨论】:

    • 我总是对方法感到困惑。感谢您的澄清!但是如何确保这种方法的安全性呢?
    • 好吧,由于您的函数是由 Firestore 更改触发的,因此它们已经受到保护,另一方面,可以使用 Firebase Rules 保护 Firestore。
    猜你喜欢
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 2019-02-23
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 2019-12-18
    相关资源
    最近更新 更多