向选择加入的用户发送推送通知

问题描述 投票:0回答:1

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

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

node.js actions-on-google dialogflow-fulfillment
1个回答
0
投票

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

设置如下。

存储用户首选项

1)Dialogflow代理询问用户何时要通知他们>

2)用户说他们希望在8:00接到通知

3)Dialogflow检测到答案并向您的Webhook提出履行请求(该Webhook可以是dialogflow(函数)或其他服务器中的内联编辑器)

4)在意图处理程序中,您必须存储UserId及其在数据库中选择的时间(在这种情况下为firestore)

5)Dialogflow代理将最终答案提供给用户,并且交互结束

发送推送通知

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

不可能为此提供最终的解决方案,因为它在很大程度上取决于系统的要求以及您正在使用/想要使用的技术。

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

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

例如。您可以将Cloud Scheduler设置为每小时运行一次,并向您的功能部门提出要求。在请求中,您从Firestore中读取并提取了需要在该小时内收到通知的实体。

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

© www.soinside.com 2019 - 2024. All rights reserved.