Как одноразовые уведомления реализованы в больших проектах? Привет!
Вопрос простой, но интересна его правильная реализация.
Регистрируется клиент на сайте и ему показывается pop-up с короткой инструкцией, потому что он зашел в аккаунт самый первый раз. Затем похожее уведомление о том, что у нас скидка на premium аккаунты (рассказываем об этом один раз каждому клиенту).
И вот вопрос — как контролировать/хранить подобные "одноразовые" ситуации?
В БД создать для них отдельную таблицу с описаниями и устанавливать флаг? Правильно ли тогда будет, что каждый раз после входа в аккаунт нужно проверять, вызывался ли уже pop-up. А то, что это нужно проверять каждый раз, когда я захожу на страницу X?
Плюс типы событий могут быть разными — первое это всплывающее окно, второе появляющаяся кнопка в хедере, а третье — письмо, которое отправляется только один раз после того как я выполнил отдельное действие.
Как же всё это разделить и не запутаться, так, чтобы потом ещё и иметь возможность пополнять список этих уведомлений?

21 Авг 2019 в 06:31
176 +1
0
Ответы
1

Для реализации одноразовых уведомлений в больших проектах обычно используются различные подходы в зависимости от конкретных потребностей проекта. Ниже приведены несколько возможных вариантов:

Использование флагов в базе данных: вы можете создать отдельную таблицу в базе данных, где будет храниться информация о том, какие уведомления были показаны пользователю. Для каждого пользователя можно создать запись с флагами, указывающими на то, было ли показано определенное уведомление или нет. При входе пользователя на сайт вы можете проверять эти флаги и показывать уведомления в соответствии с этой информацией.

Использование кэша: вы также можете сохранять информацию о показанных уведомлениях в кэше на сервере или на клиентской стороне. Это позволит быстро проверять, было ли показано уведомление конкретному пользователю до этого.

Использование событийной системы: вы можете создать специальный модуль или сервис, который будет отслеживать события, при которых нужно показывать одноразовые уведомления. После выполнения каждого события этот модуль будет проверять, было ли уже показано уведомление данному пользователю, и решать, нужно ли его показывать.

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

Каждый из этих подходов имеет свои преимущества и недостатки, поэтому выбор решения зависит от специфики проекта и его требований. Важно также учитывать масштабируемость и эффективность выбранного метода для обработки большого объема уведомлений.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 441 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир