از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
ارسال اعلان ها با nodeاعلانها (مک، ویندوز، لینوکس) اعلانها یک راه عالی برای تعامل با کاربران برنامههای شما هستند و میتوانند برای ارائه یا درخواست بازخورد استفاده شوند. در این آموزش روش ارسال نوتیفیکیشن با استفاده از Node.js و را بررسی خواهیم کرد node-اعلام کننده node-notifier کتابخانه ای برای ارسال اعلان های بومی کراس پلتفرم در Node JS است. ایجاد یک …
سرفصلهای مطلب
معرفی
اعلانها روشی عالی برای تعامل با کاربران برنامههای شما هستند و میتوان از آنها برای ارائه یا درخواست بازخورد استفاده کرد. در این آموزش روش ارسال نوتیفیکیشن با استفاده از Node.js و را بررسی خواهیم کرد node-notifier
.
node-notifier
کتابخانه ای برای ارسال اعلان های بومی کراس پلتفرم در Node JS است.
ایجاد اعلان با node-اعلام کننده
بیایید یک دایرکتوری برای پروژه خود ایجاد کنیم و یک پروژه Node را با تنظیمات پیش فرض در آن مقداردهی کنیم:
$ cd node-native-notifications
$ npm init -y
$ npm install --save node-notifier
بعد، در index.js
فایل، ما import node-notifier
:
const notifier = require('node-notifier');
دو راه برای ایجاد و ارسال یک اعلان ساده با استفاده از آن وجود دارد node-notifier
. پاس دادن یک رشته به notify()
تابع:
notifier.notify('Hello!');
یا، به طور متناوب، می توانید یک شی را ارسال کنید، و ویژگی هایی مانند the را تنظیم کنید title
و message
:
notifier.notify({
title: 'Greetings',
message: 'Hello!'
});
بیایید این کد را اجرا کنیم تا اعلان را در عمل ببینیم:
$ node index.js
اعلان ها روی صفحه دسکتاپ ما لایه بندی می شوند و ما می توانیم دو پیامی را که فشار داده ایم ببینیم:
سفارشی کردن اعلان ها
جدای از title
و message
گزینه ها را نیز می توانید تنظیم کنید icon
ظاهر شدن، استفاده کردن sound
برای افزودن صدای اعلان یا استفاده از wait
منتظر اقدام کاربر باشید..
این sound
و wait
هستند false
به صورت پیش فرض.
بیایید یک نماد، که می تواند هر فایل تصویری و همچنین یک صدا باشد به اعلان خود اضافه کنیم. علاوه بر این، ما منتظر میمانیم تا کاربر یک عمل را نیز انجام دهد:
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);
}
);
در کد بالا، ما را درج می کنیم path
ماژول به ما کمک می کند تا مسیر فایل خود را پیدا کنیم. ما همچنین در حال ارسال یک تابع برگشت به تماس هستیم notify()
عملکرد و ثبت پاسخ یا تعامل کاربر با اعلان ما به console.
با اجرای کد بالا، یک اعلان با تصویری که به عنوان نماد اعلان انتخاب کرده اید دریافت خواهید کرد. بسته به اینکه صدای یک اعلان جدید نیز ممکن است با نمایش اعلان همراه باشد روی سیستم عامل سیستم عامل کامپیوتر شما و نسخه.
اعلان به این شکل خواهد بود:
اگر روی دکمه رد اعلان کلیک کنید، رشته dismissed
به شما وارد خواهد شد console. اگر تا زمانی که نوتیفیکیشن ناپدید شود هیچ تعاملی با آن وجود نداشته باشد، نمایش داده می شود timeout
. اگر خود اعلان کلیک شود، ثبت می شود undefined
به console.
سفارشی کردن گزینه ها برای پلتفرم های مختلف
همانطور که در بخش قبل گفته شد، ممکن است تغییراتی در رفتار اعلانهای ارسالی به دلیل تفاوت در سیستمهای گزارشدهی مورد استفاده توسط سیستم عامل کاربر وجود داشته باشد.
node-notifer
سعی می کند از سیستم با بهترین تجربه کاربری استفاده کند اما راه حل های بومی را ترجیح می دهد. برای هر پلتفرم همانطور که در آنها تعریف شده است، بک گراند فراهم می کند جریان تصمیم گیری.
با این حال، می توانید یک گزارشگر سفارشی برای هر یک از سیستم های گزارش دهی ایجاد کنید تا بر رفتار اعلان هایی که در برنامه خود ارسال می کنید، کنترل داشته باشد. پنج خبرنگار وجود دارد: مرکز اطلاع رسانی، توستر ویندوز، بادکنک های ویندوزی، غرغر کردن، و اطلاع رسانی-ارسال.
این wait
گزینه در هنگام استفاده اعمال نمی شود توستر ویندوز یا اطلاع رسانی-ارسال خبرنگاران به عنوان توستر ویندوز همیشه منتظر و اطلاع رسانی-ارسال پشتیبانی نمی کند wait
گزینه.
این sound
گزینه فقط می تواند برای مرکز اطلاع رسانی و توستر ویندوز خبرنگاران این icon
گزینه در مسیر مطلق فایل تصویر قرار می گیرد و برای آن کار نمی کند بادکنک ویندوز خبرنگار.
غرغر کردن
این گزارشگری است که زمانی که گزارشگران دیگر شکست می خورند یا برای سیستم عامل در دسترس نیستند، بازگشتی است. می سازد روی منبع باز رشد کردن بسته و با استفاده از غرغر کردن ابزار برای ارسال اعلان های بومی.
موارد زیر را به کد خود اضافه کنید تا گزارشگر 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
});
در کد بالا، ما در حال ایجاد یک کد جدید هستیم Growl
به عنوان مثال با چند گزینه تنظیم شده، مانند نام آن، the host و پورت کنید که در حال اجرا خواهد بود روی.
بعد، ما را صدا می زنیم notify()
روش با گزینه های معمول ما Growl چند گزینه دیگر را به ما معرفی می کند که مستند هستند اینجا.
توستر ویندوز
این گزارشگر مخصوص سیستم عامل ویندوز است که از اعلان ها از ویندوز 8 و جدیدتر پشتیبانی می کند.
بیایید از گزارشگر Windows Toaster برای ارسال اعلان استفاده کنیم:
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
به عنوان مثال، تنظیم withFallback
استدلال به عنوان true
. اگر این اعلان کار نمی کند، به Growl یا Windows Balloons بازگشته است.
سپس ما تماس می گیریم .notify()
روش با گزینه های معمول
بادکنک ویندوز
این گزارشگر مخصوص همه نسخههای سیستمعامل ویندوز زیر ویندوز 8 است. از بالونهای نوار وظیفه برای نمایش اعلانها استفاده میکند. برای سفارشی کردن گزینه ها برای این گزارشگر، می توانید کد خود را به این ترتیب بنویسید:
const WindowsBalloon = require('node-notifier').WindowsBalloon;
// Or
// const WindowsBallon = require('node-notifier/notifiers/windowsballon');
const 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);
}
);
طبق معمول، ما در حال ساختن نمونه ای از اعلان کننده هستیم و گزینه های خود را به notify()
تابع.
در اینجا، ما می توانیم مشخص کنیم time
در میلی ثانیه، پس از آن اعلان ناپدید می شود. ما منتظر نخواهیم بود تا کاربر اقدامی علیه اعلان انجام دهد، بنابراین wait
تنظیم شده است false
.
همچنین، ما اعلان را تنظیم کرده ایم type
به warn
، و sound
به true
. این به عنوان یک هشدار به کاربر اطلاع می دهد. ما هم می توانستیم استفاده کنیم info
یا error
بسته به روی آنچه می خواهید منتقل کنید
مرکز اطلاع رسانی
این گزارشگر برای ارسال اعلان برای سیستم های macOS است. به نسخه macOS 10.8 بالا نیاز دارد. برای نسخه های قبلی، از Growl به عنوان نسخه بازگشتی استفاده می کند. اگر Growl نصب نشده باشد، یک خطا در عملکرد برگشت به تماس برگردانده می شود.
برای راه اندازی گزارشگر مرکز اطلاع رسانی، می توانید کد خود را مطابق شکل زیر بنویسید:
const NotificationCenter = require('node-notifier').NotificationCenter;
// Or
// const NotificationCenter = require('node-notifier/notifiers/notificationcenter');
const 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);
}
);
این sound
پارامتر مجموعه ای از مقادیر را می گیرد مانند Basso
، Blow
، Bottle
و غیره مقدار پیش فرض است Bottle
اگر تنظیم شود true
. از طرف دیگر، می توانید صدای خاصی را که می خواهید تنظیم کنید.
اطلاع رسانی-ارسال
این گزارشگر برای سفارشی کردن اعلان ها برای ارسال استفاده می شود روی یک سیستم مبتنی بر لینوکس مطابق شکل زیر می توان از آن استفاده کرد:
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
});
نتیجه
اعلانها راهی را برای کاربران فراهم میکنند تا با برنامههای شما تعامل داشته باشند و اعلانهای بومی آنهایی هستند که نمایش داده میشوند روی دسکتاپ کاربران در مقابل نمایش داده شدن در مرورگر.
در این مقاله روش استفاده را توضیح داده ایم node-notifier
برای ارسال نوتیفیکیشن به کاربران خود
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-18 05:53:05