首页 > 解决方案 > 使用firebase云功能和firestore实现发送/接受好友请求的通知系统

问题描述

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

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

所以我的问题是: -

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

标签: firebasegoogle-cloud-firestoregoogle-cloud-functionsfirebase-cloud-messaging

解决方案


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

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


推荐阅读