کتابخانه ی Laravel Snooze توسعه توماس کین (Thomas Kane) به منظور خودکار سازی اعلان ها (نوفیکیشن ها) و نمایش اعلان ها در لاراول و در آینده و زمان مشخص به شکل خودکار توسعه داده شده است. در توضیحات این کتابخانه به موارد خاص آن برای استفاده اشاره شده است که در زیر برخی از آنها را برای شما لیست می کنیم:
سیستم یادآوری ( به منظور یاد آوری کردن در بازه های زمانی مثلا 1 هفته قبل از زمان مشخص شده ،یک روز قبل از آن ،یک ساعت قبل آن یا هر زمان دیگری)
اعلان برای بررسی و یپیگیری (مثلا 2 روز بعد از خرید)
ارسال ایمیل بعد از کارها (مثل ایمیل خوش آمدید بعد از ثبت نام ، ارسال نکات اضافی بعد از سه روز ،ارسال پیشنهاد های فروش به شکل روزانه در کل هفته و...)
گزارش ها و اعلان های تکرار شونده در کوتاه مدت (مثل ارسال اعلان هر هفته یکبار به مدت 4 هفته و...)
کتابخانه Snooze را می توان برای مدلی (model) که می خواهیم روی آن اعلان داشته باشیم به شکل یک صفت با نام SnoozeNotifiable استفاده کرد که در نهایت یک متد به نام notifyAt() به مدل (اشیای مدل) اضافه خواهد کرد که می توان از آن استفاده کرد. برای درک بهتر این موضوع قطعه کد زیر را در نظر بگیرید:
use Thomasjohnkane\Snooze\Traits\SnoozeNotifiable;
class User extends Model {
use SnoozeNotifiable;
// …
}
// Schedule a birthday notification
$user->notifyAt(new BirthdayNotification, Carbon::parse($user->birthday));
// Schedule for a week from now
$user->notifyAt(new NextWeekNotification, Carbon::now()->addDays(7));
// Schedule for new years eve
$user->notifyAt(new NewYearNotification, Carbon::parse('last day of this year'));
شما حتی می توانید با استفاده از مدل ScheduledNotification::create() یک اعلان را به شکل ناشناس ارسال کنید. برای درک بیشتر به قطعه کد زیر دقت کنید:
$target = (new AnonymousNotifiable)
->route('mail', 'hello@example.com')
->route('sms', '56546456566');
ScheduledNotification::create(
$target, // Target
new ScheduledNotificationExample($order), // Notification
Carbon::now()->addDay() // Send At
);
اگر منطق و حالت خاصی وجود دارد که می خواهید بر اساس آن ارسال اعلان را کنسل کنید می توانید در کلاس اعلان این منطق را به شکل زیر تعریف کنید:
public function shouldinterrupt($notifiable) {
return $this->invoice->is_paid;
}
شما می توانید برای دریافت توضیحات بیشتر اطلاعات ارائه شده توسط توماس کین را از آدرس زیر مطالعه کنید:
توضیحات بیشتر در رابطه با علان های Laravel با استفاده از Snooze
طبق گفته توسعه دهند این کتابخانه ،به زودی شاهد ارائه API های کاربردی برای استفاده از این کتابخانه و ارسال اعلان ها با آن خواهیم بود. به همین دلیل به شما توصیه میکنم که حتما داکیومنت و توضیحات این بسته را مطالعه کنید:
برای دریافت اطلاعات بیشتر و راهنمای نصب و استفاده آن و نیز دستورالعمل استفاده از آن و یا دریافت سورس کد آن می توانید به آدرس گیت هاب این کتابخانه که در زیر برای شما قرار داده ایم مراجعه کنید:
نظر شما چیست؟ شما می توانید نظرات ،پیشنهادات و اطلاعات خود را در رابطه با این مطلب و موضوعات مربوط از طریق قسمت نظرات با ما و سایر بازدیدکنندگان در میان بگذارید.