Sobes.tech
Back to questions
Middle+
1

Как реализовать показ баннера один раз для авторизованного пользователя на всех его устройствах?

Companies where asked
IT OneIT One

Answer from AI

sobes.tech AI

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

Алгоритм:

  1. При загрузке приложения или страницы фронтенд делает запрос к серверу, чтобы узнать, нужно ли показывать баннер.
  2. Сервер проверяет в базе данных флаг, например bannerShown, для данного пользователя.
  3. Если баннер не показывался, сервер возвращает информацию, что баннер нужно показать.
  4. После того, как пользователь увидел баннер, фронтенд отправляет на сервер запрос, чтобы установить флаг bannerShown = true для этого пользователя.

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

Пример API:

  • GET /api/user/banner-status{ "showBanner": true }
  • POST /api/user/banner-shown → устанавливает флаг

Это решение требует, чтобы пользователь был авторизован, и фронтенд мог идентифицировать пользователя для запросов.

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