Назад к вопросам
IT One
Middle+
2
Как реализовать показ баннера один раз для авторизованного пользователя на всех его устройствах?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Чтобы показать баннер один раз для авторизованного пользователя на всех его устройствах, нужно хранить информацию о том, что баннер уже был показан, на сервере, привязанную к аккаунту пользователя.
Алгоритм:
- При загрузке приложения или страницы фронтенд делает запрос к серверу, чтобы узнать, нужно ли показывать баннер.
- Сервер проверяет в базе данных флаг, например
bannerShown, для данного пользователя. - Если баннер не показывался, сервер возвращает информацию, что баннер нужно показать.
- После того, как пользователь увидел баннер, фронтенд отправляет на сервер запрос, чтобы установить флаг
bannerShown = trueдля этого пользователя.
Таким образом, при следующем заходе с любого устройства сервер уже будет знать, что баннер показывать не нужно.
Пример API:
- GET
/api/user/banner-status→{ "showBanner": true } - POST
/api/user/banner-shown→ устанавливает флаг
Это решение требует, чтобы пользователь был авторизован, и фронтенд мог идентифицировать пользователя для запросов.
Дополнительно можно кешировать статус на клиенте для уменьшения количества запросов, но основное хранение должно быть на сервере.