Here's the latest documentation on Laravel Notifications System: https://laravel.com/docs/master/notifications
This package makes it easy to send notifications using SMS Pilot with Laravel 5.
Require this package with composer using the following command:
$ composer require avto-dev/smspilot-notifications-laravel "^2.0"
Installed
composer
is required (how to install composer).
You need to fix the major version of package.
Laravel 5.5 and above uses Package Auto-Discovery, so doesn't require you to manually register the service-provider. Otherwise you must add the service provider to the providers
array in ./config/app.php
:
'providers' => [
// ...
AvtoDev\SmsPilotNotifications\SmsPilotServiceProvider::class,
],
If you wants to disable package service-provider auto discover, just add into your composer.json
next lines:
{
"extra": {
"laravel": {
"dont-discover": [
"avto-dev/smspilot-notifications-laravel"
]
}
}
}
You need to set up SMS Pilot channel in config file ./config/services.php
:
<?php
return [
// ...
'sms-pilot' => [
'key' => env('SMS_PILOT_API_KEY'),
'sender_name' => env('SMS_PILOT_SENDER_NAME'),
],
];
And add into ./.env
file next lines:
SMS_PILOT_API_KEY=%your_api_key%
SMS_PILOT_SENDER_NAME=%your_sender_name%
Where SMS_PILOT_API_KEY
is SMS Pilot authorization key (token) (try to get it on this page), SMS_PILOT_SENDER_NAME
- is sender name, which set in service dashboard (will be used as sender name by default).
Now you can use the channel in your via()
method inside the notification as well as send a push notification:
<?php
use AvtoDev\SmsPilotNotifications\SmsPilotChannel;
use AvtoDev\SmsPilotNotifications\Messages\SmsPilotMessage;
class Notification extends \Illuminate\Notifications\Notification
{
/**
* Get the notification channels.
*
* @param mixed $notifiable
*
* @return array|string
*/
public function via($notifiable)
{
return [SmsPilotChannel::class];
}
/**
* Get the SMS Pilot Message representation of the notification.
*
* @param mixed $notifiable
*
* @return SmsPilotMessage
*/
public function toSmsPilot($notifiable): SmsPilotMessage
{
return (new SmsPilotMessage)
->content('Some SMS notification message');
}
}
<?php
class Notifiable
{
use \Illuminate\Notifications\Notifiable;
/**
* Get route for 'SMS Pilot' notification.
*
* @param mixed $notifiable
*
* @return string
*/
public function routeNotificationForSmsPilot($notifiable): string
{
return '71112223344';
}
}
For package testing we use phpunit
framework and docker-ce
+ docker-compose
as develop environment. So, just write into your terminal after repository cloning:
$ make build
$ make latest # or 'make lowest'
$ make test
Changes log can be found here.
If you will find any package errors, please, make an issue in current repository.
This is open-sourced software licensed under the MIT License.