Лучший способ реализовать запланированные push-уведомления - PullRequest
0 голосов
/ 07 октября 2018

В настоящее время я занимаюсь разработкой приложения, которое имеет какую-то систему собраний пользователей, недавно наша команда разработчиков попросила включить некоторые запланированные push-уведомления, которые будут напоминать пользователям, что они проводят собрание за 30 минут до, за 10 минут до и 10 минут.минут до встречи.(Мы используем FCM в качестве службы push-уведомлений)

В настоящее время для каждого нового собрания мы регистрируем задание cron в правилах AWS CloudWatch Events, но я пришел к выводу, что это, вероятно, не лучший способ реализовать его из-зак ожидаемому большому количеству зарегистрированных собраний ... (например, если у нас будет 100 активных собраний, у нас будет 300 зарегистрированных правил CloudWatch Events ...

Так что мой вопрос, есть ли лучший способ реализовать такойservice?

РЕДАКТИРОВАТЬ: Клиентами являются IOS (Swift) и Anrdoid (Java)

1 Ответ

0 голосов
/ 08 октября 2018

Определенно, лучший способ - отправить или синхронизировать данные собрания в мобильное приложение , а затем заставить мобильное приложение управлять уведомлениями.

Если вам нужно отправлять уведомления непосредственно изВ облаке вы должны спроектировать систему с высокой степенью масштабируемости, способной обрабатывать тысячи и даже миллионы собраний.

Самым простым способом, вероятно, будет заполнение таблицы «уведомлений» в базе данных при создании собрания.Добавьте строку со временем, когда пользователь должен быть уведомлен.

Затем используйте расписание для Amazon CloudWatch Events , чтобы запускать Лямбда-функцию AWS каждую минуту.Функция Lambda должна запрашивать базу данных о любых уведомлениях, запланированных на эту минуту (или ранее), которые не были отправлены.(Это позволяет повторить попытку после сбоев.)

Отправьте уведомление через Amazon SNS или Amazon Pinpoint .Затем отметьте уведомление как отправленное.

...