استفاده از Laravel Snooze برای ارسال خودکار اعلان‌ها و یادآوری‌ها

Laravel Snooze پکیجی در لاراول است که توسط Thomas Kane طراحی شده است. با استفاده از این پکیج، عملیات ارسال اعلان‌ها و یادآوری‌های آینده در لاراول ساده سازی شده است و می‌توان به صورت خودکار این کار را انجام داد.

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

- سیستم یادآوری (1 هفته قبل از appt، 1 روز قبل، 1 ساعت قبل و ...)

- بررسی‌های پیگیری (2 روز پس از خرید)

- ارسال ایمیل به صورت روزانه (ایمیل خوش آمدید پس از ثبت نام، نکات اضافی پس از 3 روز، پیشنهاد upsell پس از 7 روز)

- گزارش‌های تکرار شونده به صورت کوتاه مدت (ارسال به صورت هر هفته تا ۴ هفته آینده)

پکیج Snooze صفتی را برای مدل‌های شما ارائه می‌کند به نام 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', '[email protected]')
->route('sms', '56546456566');

ScheduledNotification::create(
$target, // Target
new ScheduledNotificationExample($order), // Notification
Carbon::now()->addDay() // Send At
);

اگر می‌خواهید براساس یک منطق خاص ارسال اعلان‌ها یا نوتیفیکیشن‌ها را متوقف کنید، می‌توانید این منطق را در کلاس notification به شکل زیر تعریف کنید:

public function shouldinterrupt($notifiable) {
return $this->invoice->is_paid;
}

مقالات بیشتر در لیداوب:

می‌توانید در مورد این پکیج اطلاعات بیشتر، دستورالعمل‌های کامل نصب و کد منبع را در GitHub مشاهده و بررسی کنید. با سایر مقالات ما در کتابخانه آنلاین لیداوب همراه باشید.