واگذاری مالیک دامنه
، محتوا و سورس
وب سایت
لیداوب
   در حال بارگزاری ...

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

توسط الهه قنبری
آخرین به روز رسانی جمعه 02 اسفند 1398

برای ارسال خودکار اعلان‌ها و یادآوری‌های آینده در فریم ورک لاراول، پکیجی به نام 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', 'hello@example.com')
->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 مشاهده و بررسی کنید. با سایر مقالات ما در کتابخانه آنلاین لیداوب همراه باشید.

 

دیدگاه ها

دیدگاه ها : 0


متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

رایگان

اشتراک گذاری در
ثبت امتیاز
4.3 (3 رای)

   لطفا صبر کنید ...