Автор оригинала: Aniuchi Adaobi.
Вступление
Уведомления предоставляют отличный способ привлечь пользователей ваших приложений и может быть использован для предоставления или запроса обратной связи. В этом руководстве мы рассмотрим, как отправить уведомления с использованием Node.js и Узел-уведомитель
Отказ
Узел-уведомитель
это библиотека для отправки кроссплатформенной собственной уведомления в узле JS.
Создание уведомления с узлом
Давайте создадим каталог для нашего проекта и инициализируйте проект узла с настройками по умолчанию в нем:
$ cd node-native-notifications $ npm init -y $ npm install --save node-notifier
Далее, в index.js
Файл, мы импортируем Узел-уведомитель
:
const notifier = require('node-notifier');
Есть два способа создания и продвижения простого уведомления, используя Узел-уведомитель
Отказ Передача строка к Уведомить ()
Функция:
notifier.notify('Hello!');
Или, альтернативно, вы можете пройти объект и устанавливать такие атрибуты, как Название
и сообщение
:
notifier.notify({ title: 'Greetings', message: 'Hello!' });
Давайте запустим этот код, чтобы увидеть уведомление в действии:
$ node index.js
Уведомления накладывают на нашем экране настольного компьютера, и мы можем видеть два сообщения, которые мы нажали:
Настройка уведомлений
Помимо Название
и сообщение
Опции, вы также можете установить Значок
Чтобы появиться, используйте Звук
Чтобы добавить звук уведомления или использовать Подожди
ждать, пока действие пользователей ..
Звук
и Подожди
являются ложь
по умолчанию.
Добавим значок, который может быть любым файлом изображения, а также звук нашему уведомлению. Кроме того, мы ждем, пока пользователь также выполнит действие:
const path = require('path'); notifier.notify({ title: 'Salutations!', message: 'Hey there!', icon: path.join(__dirname, 'icon.jpg'), sound: true, wait: true }, function (err, response) { console.log(response); } );
В коде выше, мы включаем путь
Модуль, чтобы помочь нам получить путь к нашему файлу. Мы также передаем функцию обратного вызова к Уведомить ()
функция и регистрация ответа или взаимодействия пользователя с нашим уведомлением к консоли.
Запустив код выше, вы получите уведомление с изображением, которое вы выбрали в качестве значка уведомления. Звук нового уведомления может также сопровождаться дисплеем уведомлений в зависимости от операционной системы OS вашего компьютера и версии.
Уведомление будет выглядеть так:
Если вы нажмете кнопку, чтобы уволить уведомление, строку уволен
будет регистрироваться в вашу консоль. Если нет взаимодействия с уведомлением, пока он не исчезнет, он отображает Тайм-аут
Отказ Если сам уведомление нажат, это журналы undefined
к консоли.
Настройки параметров для разных платформ
Как указано в предыдущем разделе, могут быть вариации в поведении уведомлений, отправленных из-за различий в системах отчетности, используемых операционной системой пользователя.
Узел-союзник
пытается использовать систему с лучшим пользователем опытом, но он предпочитает собственные решения. Он обеспечивает отступы для каждой платформы, как определено в их Решение поток Отказ
Однако вы можете создать индивидуальный репортер для каждой из систем отчетности, чтобы контролировать поведение уведомлений, которые вы отправляете в вашем приложении. Есть пять репортеров: Центр уведомлений , Windows Toaster , Windows Balloons , Рычание и Уведомление-Отправить Отказ
Подожди
Опция не применяется при использовании Windows Toaster или Уведомление-Отправить Журналисты, как Windows Toasters всегда ждут и Уведомление-Отправить не поддерживает Подожди
вариант.
Звук
Опция может использоваться только для Центр уведомлений и Windows Toaster репортеры. Значок
Опция берет в абсолютный путь к файлу изображения и не работает для Windows Balloon репортер.
Расти
Это репортер, который является защитой, когда другие репортеры терпят неудачу или не доступны для ОС. Это строит на открытом источнике Расти Пакет и отправляет сообщения, используя Рычание Утилита для отправки родных уведомлений.
Добавьте следующее в свой код, чтобы настроить репортер Growl для вашего приложения:
const fs = require('fs); const Growl = require('node-notifier').Growl; // Or // const Growl = require('node-notifier/notifiers/growl'); let growlNotifier = new Growl({ name: 'Node' host: 'localhost', port: 23053 }); growlNotifier.notify({ title: 'Greetings', message: 'Hello user!', icon: fs.readFileSync(__dirname + '/icon.jpg'), wait: false, // Other growl options like sticky etc. sticky: false, label: undefined, priority: undefined });
В указанном выше коде мы создаем новый Рычание
Экземпляр с несколькими настройками параметров, таких как его имя, хост и порт, он будет работать.
Далее мы называем Уведомить ()
Способ с нашими обычными вариантами. ROWL представляет нас еще несколько вариантов, которые документированы здесь Отказ
Windows Toaster
Это репортер, специально для ОС Windows, которая поддерживает уведомления с момента Windows 8 и новее.
Давайте используем репортер тостера Windows для толкания уведомления:
const WindowsToaster = require('node-notifier').WindowsToaster; // Or // const WindowsToaster = require('node-notifier/notifiers/toaster'); let windowsToasterNotifier = new WindowsToaster({ withFallback: true }); windowsToasterNotifier.notify({ title: "Windows Toaster Notification", message: "This is a notification sent from the Windows Toaster Notifier", icon: path.join(__dirname, 'icon.jpg'), sound: "SMS", }, function (error, response) { console.log(response); } );
Здесь мы создали WindowStoaster
экземпляр, установка с отличием
аргумент как правда
Отказ Если этот уведомитель не работает, он забьется, чтобы рычать или баллоны Windows.
Тогда мы называем .notify ()
Способ с обычными вариантами.
Windows Balloon
Это репортер, специально для всех версий ОС Windows ниже Windows 8. Он использует воздушные шары Taskbar для отображения уведомлений. Чтобы настроить параметры для этого репортера специально, вы можете написать свой код таким образом:
const WindowsBalloon = require('node-notifier').WindowsBalloon; // Or // const WindowsBallon = require('node-notifier/notifiers/windowsballon'); var windowsBalloonNotifier = new WindowsBalloon({ withFallback: true }); windowsBalloonNotifier.notify({ title: "Windows Balloon Notification", message: "This notification was sent using Windows Balloons.", sound: true, time: 1000, wait: false, type: 'warn' }, function (error, response) { console.log(response); } );
Как обычно, мы строим экземпляр уведомителя и передаем в наши варианты для Уведомить ()
функция.
Здесь мы можем указать время
В Miliseconds, после чего уведомление исчезнет. Мы не будем ждать, пока пользователь выполнит действие против уведомления, поэтому Подожди
установлен на ложь
Отказ
Кроме того, мы установили уведомление Тип
к предупреждать
и Звук
к правда
Отказ Это уведомит пользователя как предупреждение. Мы могли бы также использовать Информация
или Ошибка
. В зависимости от того, что вы хотели бы передавать.
Центр уведомлений
Этот репортер предназначен для отправки уведомлений для систем MacOS. Это требует MacOS версии 10,8 выше. Для более ранних версий он будет использовать рычание как отступление. Если Growl не установлен, в функции обратного вызова возвращается ошибка.
Чтобы настроить репортер Центра Уведомления, вы можете написать свой код, как показано ниже:
const NotificationCenter = require('node-notifier').NotificationCenter; // Or // const NotificationCenter = require('node-notifier/notifiers/notificationcenter'); let notificationCenterNotifier = new NotificationCenter({ withFallback: true }); notificationCenterNotifier.notify({ title: "Notification Center Notifications", subtitle: "For macOS > 10.8", message: "This is a notification sent using Notification Center", sound: 'Frog', icon: path.join(__dirname, 'icon.jpg'), contentImage: path.join(__dirname, 'content_image.jpg'), open: undefined, wait: false, }, function (error, response, metadata) { console.log(response, metadata); } );
Звук
Параметр принимает в кучу значений, таких как Бассо
, Удар
, Бутылка
и т. Д. Значение по умолчанию это Бутылка
Если установлено на правда
Отказ Кроме того, вы можете установить конкретный звук, который вы хотели бы.
Уведомление-Отправить
Этот репортер используется для настройки уведомлений для отправки системы на основе Linux. Может использоваться, как показано ниже:
const NotifySend = require('node-notifier').NotifySend; // Or // const NotifySend = require('node-notifier/notifiers/notifysend'); let notifySendNotifier = new NotifySend(); notifySendNotifier.notify({ title: 'Notify-send Notification', message: 'This notification was sent using the notify-send reporter', icon: __dirname + '/icon.jpg', wait: true, timeout: 5 });
Заключение
Уведомления обеспечивают способ для пользователей взаимодействовать с вашими приложениями, и собственные уведомления являются те, которые отображаются на рабочем столе пользователя, а не отображаются в браузере.
В этой статье мы покрывали, как использовать Узел-уведомитель
Чтобы отправить уведомления своим пользователям.