使用 firebase 云函数和 firestore 为 sending/accepting 好友请求实施通知系统

Implementing a notification system for sending/accepting friend request using firebase cloud functions and firestore

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

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

所以我的问题是:-

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

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

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