Как только пользователь предоставил вам разрешение на отправку уведомлений pu sh , вы можете использовать API действий для отправки уведомления pu sh.
Настройка будет такой
Сохранение пользовательских настроек
1) Агент Dialogflow спрашивает пользователя, когда он хочет получить уведомление
2) Пользователь говорит, что хочет быть в 8:00
3) Dialogflow обнаруживает ответ и отправляет запрос на выполнение вашему веб-крюку (веб-крюк может быть встроенным редактором в диалоговом потоке (Функции) или на другом сервере)
4 ) В обработчике намерения вы должны сохранить UserId и время, которое они выбрали в вашей базе данных (в данном случае, firestore)
5) Агент Dialogflow дает окончательный ответ пользователю, и взаимодействие заканчивается
Отправка уведомления pu sh
1) Укажите, нужно ли отправлять уведомление пользователю; это сложная часть.
Невозможно дать вам окончательное решение по этому вопросу, поскольку оно сильно зависит от требований вашей системы и технологий, которые вы используете / хотите использовать.
По сути, вы можете использовать задания cron, фоновые бесконечные процессы, pub / sub, облачный планировщик или любой другой инструмент, который позволяет вам постоянно читать информацию из вашей базы данных, чтобы определить, каких пользователей нужно уведомлять. Я рекомендую вам проверить этот ответ , где обсуждается подход к решению этой проблемы с помощью Firestore.
Обратите внимание, что вам не обязательно нужен другой работающий сервер, вы можете использовать функции, используемые для выполнение.
Например. Вы можете настроить Cloud Scheduler для запуска каждый час и сделать запрос к своим функциям. В запросе вы читаете из Firestore и извлекаете сущности, которые должны быть уведомлены в тот час.
2) Как только у вас есть пользователи, которых вы хотите уведомить, вам нужно использовать Actions API для отправки уведомления pu sh. Еще раз, этот запрос может исходить от вашего сервера выполнения или другого сервера, используемого в системе.