, (*1)
Here's the latest documentation on Laravel Notifications System: https://laravel.com/docs/master/notifications, (*2)
SMS Pilot notifications channel | For laravel
![PHP Version][badge_php_version]
![Coverage][badge_coverage]
![License][badge_license], (*3)
This package makes it easy to send notifications using SMS Pilot with Laravel 5., (*4)
Installation
Require this package with composer using the following command:, (*5)
$ composer require avto-dev/smspilot-notifications-laravel "^2.0"
Installed composer
is required (how to install composer)., (*6)
You need to fix the major version of package., (*7)
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
:, (*8)
'providers' => [
// ...
AvtoDev\SmsPilotNotifications\SmsPilotServiceProvider::class,
],
If you wants to disable package service-provider auto discover, just add into your composer.json
next lines:, (*9)
{
"extra": {
"laravel": {
"dont-discover": [
"avto-dev/smspilot-notifications-laravel"
]
}
}
}
Setting up the SMS Pilot service
You need to set up SMS Pilot channel in config file ./config/services.php
:, (*10)
<?php
return [
// ...
'sms-pilot' => [
'key' => env('SMS_PILOT_API_KEY'),
'sender_name' => env('SMS_PILOT_SENDER_NAME'),
],
];
And add into ./.env
file next lines:, (*11)
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)., (*12)
Usage
Now you can use the channel in your via()
method inside the notification as well as send a push notification:, (*13)
<?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';
}
}
Testing
For package testing we use phpunit
framework and docker
with compose
plugin as develop environment. So, just write into your terminal after repository cloning:, (*14)
$ make build
$ make latest # or 'make lowest'
$ make test
Changes log
![Commits since latest release][badge_commits_since_release], (*15)
Changes log can be found here., (*16)
Support
![Issues][badge_pulls], (*17)
If you will find any package errors, please, make an issue in current repository., (*18)
License
This is open-sourced software licensed under the MIT License., (*19)