docs/sending-notifications/adding-extra-notification-channels.md
By default the package send notifications via email or Slack. It's easy to add an extra notification channel such as Telegram or native mobile push notification, etc.
The Laravel community is awesome. Shortly after Laravel 5.3 was released various developers worked together to create 30+ notification channels. You can view them all on http://laravel-notification-channels.com.
In the following example we're going to add the Pusher push notifications channel. Other notification drivers can be added in the same way.
For Pusher Push notifications, require this package
laravel-notification-channels/pusher-push-notifications
After composer has pulled in the package, just follow the installation instructions of the package to complete the installation.
Let say you want to be notified via Pusher push notifications when a backup fails. To make this happen you'll need to create your own BackupFailed notification class like the one below:
namespace App\Notifications;
use Spatie\Backup\Notifications\Notifications\BackupHasFailedNotification as BaseNotification;
use NotificationChannels\PusherPushNotifications\Message;
class BackupHasFailedNotification extends BaseNotification
{
public function toPushNotification($notifiable)
{
return Message::create()
->iOS()
->badge(1)
->sound('fail')
->body("The backup of {$this->applicationName()} to disk {$this->diskName()} has failed");
}
}
note that the class name should be the same name as the base notification that you want to send otherwise an error will occur
The last thing you need to do is replace your custom notification with the orignal one in the config file.
// config/backup.php
use \NotificationChannels\PusherPushNotifications\Channel as PusherChannel
...
'notifications' => [
'notifications' => [
\App\Notifications\BackupHasFailedNotification::class => ['mail', 'slack', PusherChannel::class],
...