Skip to main content

SMS Notifications must implement the following interface and trait.

namespace App\Notifications;

use Illuminate\Notifications\Notification
use Javaabu\SmsNotifications\Notifications\SendsSms;
use Javaabu\SmsNotifications\Notifications\SmsNotification;

class TestNotification extends Notification implements SmsNotification
{
use SendsSms;

/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return [
$this->getSmsChannel()
];
}

public function toSms($notifiable): string
{
return 'Test message';
}
}

The notification model must implement the toSms($notifiable) method which should return the sms message that needs to be sent.

To use the SMS channel, include the $this->getSmsChannel() in your returned channels from the via($notifiable) method.

The following methods will be available on SMS Notifications:

$this->getSmsDriver(); // returns the current SMS driver being used
$this->getSmsChannel(); // returns the current SMS channel being used

Overriding the default SMS Driver

If you want to override the Default SMS driver on a specific Notification, you can override the getSmsDriver() method.

    /**
* Get the sms driver
*
* @return string
*/
public function getSmsDriver(): string
{
return 'dhiraagu';
}