Уведомления на сообщения

Уведомления на сообщения

Иван

Здоров, бро!

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

Результат после прочтения статьи

Алгоритм:

  1. Создаём в сообщениях новое поле Status с типом данных "yes/no".

С помощью данного статуса будем видеть прочитано сообщение или нет.


По умолчанию прописываем значение "no", чтобы каждое созданное сообщение автоматически определялось системой, как непрочитанное.

2. Теперь нужно подсчитать количество сообщений, которые:

  • Принадлежат текущей беседе
  • Имеют статус "no"
  • Отправленные не нами

Для этого создадим в repeating group, в которой хранятся все беседы с нашим участием, текстовый элемент с параметрами:

Что мы тут сделали?

Выполнили поиск по всем сообщениям, которые соответствуют условиям:

  1. Созданы не нами
  2. Находятся в беседе, которая отображается в текущей ячейке
  3. Имеют статус "no"

В пункте 4 посчитали их количество

Уведомления почти настроены. Сейчас они выглядят вот так.

Теперь бахнем стиля на них, чтобы смотрелись чётко.

Для этого:

  1. Поместим текстовый элемент с уведомлениями в группу
  2. Накинем background color на группу.
  3. Сделаем эту группу видимой только когда количество сообщений > 0

С первыми двумя действиями всё предельно ясно.

По последнему для простоты: скопируйте из текстового элемента то, что мы прописывали на шаге 2, когда считали количество непрочитанных сообщений:

И вставьте в Conditional группы.


Чтобы всё работало чётко, не забудьте снять галочку видимости у группы

Так это выглядит сейчас

Чтобы счётчик обнулялся, нам нужно при открытии беседы поменять у них статус с "no" на "yes". Для этого:

  1. Когда нажимаем, например, на группу в текущей ячейке, запускаем workflow:

2. Выбираем Data - make changes to a list of things

3. Настройки:

Type of things: message

List to change: Выполняем поиск по сообщениям с теми же условиями, которые прописывали в текстовом элементе. Количество сообщений тут не считаем.

Выбираем параметр, который хотим изменить в списке сообщений.

Нам нужно поменять Status с "no" на "yes", чтобы система определяла сообщения как прочитанные, и они не попадали в счётчик.

Конец.

Report Page