【发布时间】:2015-01-17 06:34:00
【问题描述】:
我对 Firebase 和其他人(例如 Couchbase Sync Gateway)倡导的同步数据库范例非常感兴趣。它在替换 API 所做的 80% 的工作方面确实做得很好,即存储和检索数据。但通常,这并不是 API 的全部功能。在存储和检索数据的同时,我们也在做与数据无关的事情,比如发送电子邮件或推送通知。为了做这些事情,我应该能够拦截数据更改并在创建新记录、现有记录以某种方式更改或删除记录时执行某些操作。 Parse 在其 Cloud Code (https://parse.com/docs/cloud_code_guide#functions-aftersave) 中有一个很好的机制,但我在 Firebase 中找不到类似的东西。我错过了什么还是我想错了?
【问题讨论】:
-
使用 Firebase 时,您需要设置一个单独的客户端/服务器来处理这些额外的任务。因此,如果您想向新用户发送欢迎电子邮件,您需要设置一个 Firebase 客户端来监听新用户,向他们发送电子邮件并(可能)标记它已发送该电子邮件。此服务通常会在某个提升的管理员帐户下运行,或者使用 Firebase 的主要 secret 运行。
-
您还可以使用 Zapier 之类的服务从 Firebase 触发这些事件,并且很快,Firebase 将具有内置触发器来向第三方推送通知。
-
Zapier 很好,但我更多地考虑要运行的自定义代码。推送通知是一个简单的示例,但有时您需要与第三方服务集成,在某处调用 REST API 等等。所以运行另一个客户端来做这些事情似乎更适应,但很遗憾 Firebase 不提供这种云代码功能。
-
对于这样的目的,Firebase Functions 可能会有很大帮助。确实,有一个专门用于发送该解决方案中提到的电子邮件的解决方案。
标签: firebase