Уведомление
Создание уведомлений на рабочем столе ОС
Процесс: Основной
Использование в процессе рендеринга
Если вы хотите отобразить уведомления из процесса рендеринга, используйте API уведомлений HTML5
Класс: Notification
Создание уведомлений на рабочем столе ОС
Процесс: Основной
Notification является EventEmitter.
Он создаёт новое Notification с нативными свойствами, установленными options.
Статические методы
Класс Notification имеет следующие статические методы:
Notification.isSupported()
Возвращает boolean — поддерживаются ли уведомления на рабочем столе на текущей системе
new Notification([options])
События экземпляра
Созданные с помощью new Notification объекты излучают следующие события:
Примечание: Некоторые события доступны только в определённых операционных системах и помечены соответствующим образом.
Событие: 'show'
Возвращает:
-
eventСобытие
Издаётся, когда уведомление отображается пользователю. Обратите внимание, что это может вызываться несколько раз, так как уведомление может отображаться несколько раз с помощью метода show().
Событие: 'click'
Возвращает:
-
eventСобытие
Издаётся, когда пользователь нажимает на уведомление.
Событие: 'close'
Возвращает:
-
eventСобытие
Издаётся, когда пользователь закрывает уведомление.
Это событие не гарантируется во всех случаях закрытия уведомления.
Событие: 'reply' macOS
Возвращает:
-
eventСобытие -
replyстрока — строка, введённая пользователем в поле ввода ответа.
Издаётся, когда пользователь нажимает кнопку «Ответить» в уведомлении с hasReply: true.
Событие: 'action' macOS
Возвращает:
-
eventСобытие -
indexчисло — индекс активированного действия.
Событие: 'failed' Windows
Возвращает:
-
eventСобытие -
errorстрока — ошибка, возникшая во время выполнения методаshow().
Издаётся при возникновении ошибки при создании и показе нативного уведомления.
Методы экземпляра
Объекты, созданные с помощью new Notification, имеют следующие методы экземпляра:
notification.show()
Немедленно отображает уведомление пользователю. Обратите внимание, что, в отличие от реализации уведомлений HTML5, создание объекта new Notification не отображает его сразу пользователю. Вам необходимо вызвать этот метод, прежде чем ОС отобразит его.
Если уведомление было показано ранее, этот метод скроет ранее показанное уведомление и создаст новое с идентичными свойствами.
notification.close()
Закрывает уведомление.
Свойства экземпляра
notification.title
Свойство string, представляющее заголовок уведомления.
notification.subtitle
Свойство string, представляющее подзаголовок уведомления.
notification.body
Свойство string, представляющее тело уведомления.
notification.replyPlaceholder
Свойство string, представляющее подстановку ответа уведомления.
notification.sound
Свойство string, представляющее звук уведомления.
notification.closeButtonText
Свойство string, представляющее текст кнопки закрытия уведомления.
notification.silent
Свойство boolean, представляющее, является ли уведомление беззвучным.
notification.hasReply
Свойство boolean, представляющее, содержит ли уведомление действие ответа.
notification.urgency Linux
Свойство string, представляющее уровень срочности уведомления. Может быть 'normal', 'critical' или 'low'.
По умолчанию — 'low'. См. NotifyUrgency для получения дополнительной информации.
notification.timeoutType Linux Windows
Свойство string, представляющее тип времени ожидания уведомления. Может быть 'default' или 'never'.
Если timeoutType установлено в 'never', уведомление никогда не истекает. Оно остаётся открытым до закрытия вызывающим API или пользователем.
notification.actions
Свойство NotificationAction[], представляющее действия уведомления.
notification.toastXml Windows
Свойство string , представляющее пользовательский XML уведомления Toast.
Проигрывание звуков
В macOS вы можете указать имя звука, который должен проигрываться при отображении уведомления. Можно использовать любые стандартные звуки (в разделе «Системные настройки» → «Звук»), а также пользовательские звуковые файлы. Убедитесь, что звуковой файл скопирован в пакет приложения (например, YourApp.app/Contents/Resources), или в одном из следующих расположений:
~/Library/Sounds/Library/Sounds/Network/Library/Sounds/System/Library/Sounds
Дополнительную информацию см. в документации NSSound.
© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/api/notification