Дом по сценариюПонятные автоматизации для повседневных задач.
← К материаламУведомления на телефон · 2 мин

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

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

Определите одно событие

Сначала решите, какие сообщения описывают один и тот же объект или событие. Именно для этой последовательности нужен общий tag.

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

  • Выделите одну последовательность обновлений.
  • Определите сообщение, которое должно заменяться.
  • Разделите независимые события.

Задайте постоянный tag

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

Значение должно оставаться стабильным между отправками. Изменение tag превращает следующую отправку в отдельное уведомление, а не в обновление существующего.

  • Выберите уникальный tag события.
  • Повторяйте его во всех обновлениях.
  • Не создавайте новый tag при каждом изменении состояния.

Избегайте конфликтов

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

После настройки отправьте несколько последовательных обновлений и проверьте, остаётся ли одно актуальное сообщение. Отдельно проверьте независимое событие с другим tag.

  • Сверьте tag у связанных сообщений.
  • Назначьте разные tag независимым событиям.
  • Проверьте отсутствие нежелательных замен.

Проверьте себя

  • Определено одно событие для обновления.
  • Все его сообщения используют одинаковый tag.
  • Разные группы не делят один tag.

Частый вопрос

Чем tag отличается от текста уведомления?

Tag — это идентификатор для замены сообщения. Он не обязан совпадать с видимым текстом уведомления.

Источники