当用户使用Firebase云功能接收未读消息/通知时,是否可以向用户发送电子邮件摘要?

时间:2020-08-03 14:54:10

标签: firebase google-cloud-firestore email-notifications

我正在尝试向未读消息/通知的用户发送电子邮件,但是我一直在努力寻找解决方法。我当时在想一个可以跟踪消息/通知的系统,如果一个小时未读它们,那么它将向用户发送电子邮件,从而将消息通知给用户。

我发现的东西: 使用Cloud Scheduler,我将能够每小时发送电子邮件给未读通知的用户。但是,如果用户在一分钟前收到通知,他们仍然会收到一封电子邮件,这对他们来说很烦人。

使用Firestore onUpdate发送带有每条消息/通知的电子邮件通知会更加烦人。

有人知道我上面介绍的跟踪通知/消息的方法吗?我错过了其他方法吗?

2 个答案:

答案 0 :(得分:1)

你为什么不尝试

  1. 将云功能设置为每1-5分钟运行一次。
  2. 从1小时起过滤通知,然后将其读取。诸如:.where(“ Read”,“ ==”,false“)。where(” Date Reminded“,” <=“,currentTime-60 60 1000)。请注意,我们使用日期在此处提醒您,该日期应设置为与创建时创建的日期相同,并在每次发送电子邮件时进行更新,以免每分钟发送一次电子邮件。
  3. 将通知链接到每个用户后,向这些用户发送电子邮件。

一个显而易见的替代方案当然是部署一个服务器,该服务器可以监视云防火存储并使用节点计划模块发送电子邮件。

答案 1 :(得分:0)

您可以使用Cloud Tasks为每个未读的通知启动一个任务,调用一个函数,该函数会在一定延迟下发送该通知的电子邮件。您将需要向create and configure the task写大量代码,并且该函数(也许是Cloud Function)才能接收延迟的消息。

如果要发送带有批处理通知的电子邮件,显然必须实现一些其他逻辑,以确保每个任务都发送汇总而不是单独的消息。

相关问题