На самом деле мне удалось решить эту проблему с помощью гибридного подхода.
Добавлена новая настройка Версия конфигурации баннера, которая применяется ко всем баннерам, а также новые индивидуальные значения ID баннера.
Фактические ID для каждого баннера формируются на основе обоих значений. На мой взгляд, этот метод обеспечивает большую гибкость:
- Индивидуальную видимость баннера можно сбросить, обновив его ID, не затрагивая видимость других баннеров.
- Если необходимо сбросить видимость нескольких или всех баннеров, можно обновить версию конфигурации баннера.
Я скоро разверну эти изменения.
Обновление: Версия 1.4.0 уже доступна.
Добавлено уникальное[1] и обязательное поле ID баннера для каждого уведомительного баннера. Обновлена соответствующая логика настроек, миграции и тесты для поддержки этого изменения. Кроме того, добавлена настройка Версия конфигурации баннера, которая помогает сбрасывать видимость баннеров при возникновении важных изменений. Эти улучшения делают отслеживание закрытия баннеров более надежным и устойчивым к будущим изменениям.
Уникальность зависит от пользователя. К сожалению, настройки объекта темы не позволяют требовать уникальности значений. Однако метка вкладки теперь использует значение ID для лучшей наглядности. ↩︎

