بایگانی برچسب: s

ساخت custom notification channel در لاراول

نوشته‌شده در توسط .

لاراول برای ارسال نوتیفیکیشن درایور های متنوعی داره که برای کاراتون میتونید ازش استفاده کنید… ولی بعضی وقتا پیش میاد که نیاز دارید چنل خودتون رو داشته باشید، برای این کار باید کانال ارسال خودتون رو بنویسید که خیلی راحته

مثلا در مسیر app  یک فولدر با عنوان channels  بسازید و توش یه کلاس php با اسم دلخواهتون ایجاد کنید. من اسمشو میذارم SmsChannel .

در قسمت do your action عملیاتی که برای ارسال نوتیفیکیشنتون(!) رو که میتونه متنوع باشه رو انجام بدید… مثلا اگه میخواید با استفاده از یه سرویس دهنده خاص اس ام اس ارسال کنید میتونید کلاسهای اون رو ایمپورت کنید و اس ام اس رو ارسال کنید.

مثلا برای ارسال پیامک بصورت زیر عمل کنید :

که آرایه message  از متد های کلاس های نوتیفیکیشن ها ارسال میشه…

برای ارسال نوتیفیکیشن در متد via  در کلاس نوتیفیکیشن  \App\Channels\SmsChannel::class  رو برگردونید… یه چیزی مثل این :

که میتونید از $notifiable  استفاده کنید و ببینید که اس ام اس واسه کاربر ارسال بشه یا نه… مثلا اعتبار کاربریش اجازه ارسال رو میده یا نه.

و متد زیر رو برای ارسال پیام در کلاس مربوط به نوتیفیکیشن بنویسید :

 

نوتیفیکیشن های لاراول ۵٫۳

نوشته‌شده در توسط .

جدیدا توی چیتاسافت مجبور شدم از لاراول ۵ دل بکنم و سوییچ کنم روی لاراول ۵٫۳.  یکی از امکانات جالبی که تو این ورژن به لاراول اضافه شده notification ها هستند و میخوام یکم در موردشون حرف بزنم. لاراول قبلا ارسال ایمیل رو با سویفت میلر ممکن کرده بود و با درایورهای مختلف میتونستیم ایمیل ارسال کنیم.

تو نوتیفیکیشن ها اوضاع بهتر هم میشه و میتونیم نوتیفیکیشن رو علاوه بر ایمیل بصورت SMS  و حتی بصورت نوتیفیکیشن slack و تلگرام و… هم بفرستیم که لیستشو میتونید تو سایت  laravel-notification-channels ببینید. برای شروع از کامند آشنای make استفاده میکنیم :

یه کلاس Pay توی Notificatios ساخنه میشه که از کلاس Notification مشتق شده… یه متد به نام via توش وجود داره بصورت پیشفرض که کانال های ارسال اعلان(نوتیفیکیشن) رو توش مشخص میکنیم. و یک سری متد دیگه که اعلان شما رو پردازش میکنن تا با کانال مورد نظر بتونن نوتیف رو ارسال کنن… مثل توابع toMail و…

با دو روش میتونید ارسال کنید نوتیف رو :

  1. استفاده از Notifiable Trait
  2. استفاده از فساد Notification

 

استفاده از Notifiable Trait

این trait بصورت پیشفرض توی مدل User وجود داره و معمولا برای ارسال نوتیفیکیشن به یک یوزر استفاده میشه… یک متد notify داره که یک ورودی از نوع Notification میگیره. به این صورت مثلا :

استفاده از فساد Notification

پیشنهاد میشه از این روش استفاده کنید. چون میتونید به چند کاربر و مثلا به یک کالکشن هم اعلان بفرستید خیلی شیک :

میتونید در هر ارسال به پراپرتی notifiable دسترسی داشته باشید و مثلا مشخص کنید که اس ام اس برای این یوزر فعال هست و شماره موبایلش تایید شده و بعد اقدام به ارسال اس ام اس به این یوزر کنید.