Laravel AfricasTalking Notification Channel
Use this package to send sms notifications via Africastaclking. Laravel 5.3+ required.
This package can be installed through Composer.
composer require freddygenicho/laravel-africastalking-notification
If installing on < Laravel 5.5 then add the service provider:
// config/app.php
'providers' => [
...
FreddyGenicho\AfricasTalking\AfricasTalkingNotificationServiceProvider::class,
...
];
First, publish configuration files
php artisan vendor:publish --provider="FreddyGenicho\AfricasTalking\AfricasTalkingNotificationServiceProvider"
This will publish the africastalking configuration file into the config directory as africastalking.php. This file contains all the configurations required to use the package.
Use Artisan to create a notification:
php artisan make:notification SomeNotification
Return [africasTalking]
in the public function via($notifiable)
method of your notification:
/**
* @param $notifiable
* @return array
*/
public function via($notifiable)
{
return ['africasTalking'];
}
Add the method public function toAfricasTalking($notifiable)
to your notification, and return an instance of AfricasTalkingMessage
:
use FreddyGenicho\AfricasTalking\Message\AfricasTalkingMessage;
...
/**
* Get the AfricasTalking representation of the notification.
* @param $notifiable
* @return AfricasTalkingMessage
*/
public function toAfricasTalking($notifiable)
{
return (new AfricasTalkingMessage())
->content('Hello world')
->from('Genicho');
}
In order to let your Notification know which phone are you sending/calling to, the channel will look for the phone_number
attribute of the Notifiable model. If you want to override this behaviour, add the routeNotificationForAfricasTalking
method to your Notifiable model.
public function routeNotificationForAfricasTalking()
{
return '+25412345678';
}
If you discover any security related issues, please email fredygenicho@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.