Создание уведомлений

Вы можете создавать уведомления через административный интерфейс или программно в коде.

Административный интерфейс

После добавления дополнения в ваше приложение в главном меню появляется пункт Notifications. Экран Notifications предоставляет список созданных уведомлений и кнопки для управления ими.

ntf list

Редактор уведомлений появляется после нажатия кнопки Create notification.

ntf editor

В диалоговом окне доступны следующие поля для заполнения:

  • Subject – тема уведомления.

  • Type – тип уведомления. Типов уведомлений по умолчанию нет. Смотрите раздел настройка, чтобы создать типы.

  • Recipients – список получателей уведомления. Начните вводить имя пользователя в поле и выберите подходящих пользователей из списка.

  • Channels – канал, используемый для уведомления.

    • In-app channel – пользователь получит уведомление в пользовательском интерфейсе приложения.

    • Email channel – пользователь получит email с уведомлением (доступно с дополнением Email).

  • Body – основное содержимое уведомления.

Программное создание

Сервис NotificationManager предоставляет методы для отправки уведомлений пользователям.

В примере ниже уведомление отправляется пользователю каждый раз, когда создается новый заказ.

ntf programmatic
private boolean justCreated;

@ViewComponent
private TypedTextField<Integer> numberField;

@Autowired
protected NotificationManager notificationManager;

@Subscribe
public void onInitEntity(InitEntityEvent<Order> event) {
    justCreated = true;
}

@Subscribe(target = Target.DATA_CONTEXT)
public void onPostSave(final DataContext.PostSaveEvent event) { (1)
    if (justCreated) { (2)
        notificationManager.createNotification() (3)
                .withSubject("New order")(4)
                .withRecipientUsernames("admin") (5)
                .toChannelsByNames("in-app") (6)
                .withContentType(ContentType.PLAIN) (7)
                .withBody("A new order with number " + numberField.getValue()+ " is created.") (8)
                .send(); (9)
    }
}
1 Этот метод вызывается после сохранения изменений.
2 Проверяет, является ли сущность новой.
3 Инициирует NotificationRequestBuilder, который создает новый объект NotificationRequest.
4 Определяет тему уведомления.
5 Устанавливает получателя по указанному имени пользователя.
6 Устанавливает каналы уведомлений по указанным именам. Доступны in-app и email.
7 Устанавливает тип содержимого тела уведомления.
8 Устанавливает основное содержимое уведомления.
9 Создает и отправляет запрос на уведомление.
Нажмите Code Snippets на панели действий, чтобы сгенерировать код для отправки уведомлений.