Отправьте извещение pu sh выбранным пользователям в указанное время - PullRequest
0 голосов
/ 09 февраля 2020

После получения разрешения пользователя на отправку уведомлений pu sh и сохранения идентификатора пользователя в firestore, как я могу использовать его для отправки ему уведомлений в любое время по своему выбору?

Например: если пользователь выбирает 8:00, я хочу иметь возможность отправлять ему уведомление pu sh каждый день в 8:00. Я не могу написать код для отправки уведомления в самом действии. Что мне нужно будет настроить для достижения этой цели?

1 Ответ

1 голос
/ 09 февраля 2020

Как только пользователь предоставил вам разрешение на отправку уведомлений 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. Еще раз, этот запрос может исходить от вашего сервера выполнения или другого сервера, используемого в системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...