在选择加入的用户 select 时向他们发送推送通知

Send a push notification to opted-in users at the time which they select

在获得用户发送推送通知的许可并将用户 ID 保存在 firestore 中后,我如何使用它每天在他们选择的时间向他们发送通知?

例如: 如果用户选择 8:00 AM ,我希望能够每天早上 8 点向他们发送推送通知。 我无法编写代码来在操作本身中发送通知。 我必须设置什么才能完成此操作?

一旦用户has granted you permission to send push notifications,您可以使用操作API发送推送通知。

设置如下。

存储用户首选项

1) Dialogflow 代理询问用户何时需要通知

2) 用户说他们希望在

上午 8:00 收到通知

3) Dialogflow 检测到答案并向您的 webhook 发出执行请求(webhook 可以是 dialogflow (Functions) 或其他服务器中的内联编辑器)

4) 在意图的处理程序中,您必须将 UserId 和他们选择的时间存储在您的数据库中(在本例中为 firestore)

5) Dialogflow代理给出最终答案给用户,交互结束

发送推送通知

1) 确定是否必须向用户发送通知;这是棘手的部分。

不可能就此给您一个明确的解决方案,因为它在很大程度上取决于您的系统要求和您using/want要使用的技术。

基本上,您可以使用 cron 作业、后台无限进程、pub/sub、云调度程序或任何其他允许您不断从数据库中读取信息以确定需要通知哪些用户的工具。我建议您查看 this answer 那里讨论了使用 Firestore 解决此问题的方法。

请注意,您不一定需要另一台服务器 运行ning,您可以使用用于实现的功能。

例如。您可以设置每小时 Cloud Scheduler 到 运行,并向您的函数发出请求。在请求中,您从 Firestore 读取并提取需要在该时间通知的实体。

2) 有了要通知的用户后,您需要使用Actions API 发送推送通知。同样,此请求可以来自您的执行服务器或系统中使用的其他服务器。