This package makes it easy to send notifications using Pushy with Laravel 5.5+, 6.0 and 7.0
Send push notifications to devices by hitting up Pushy REST API from your laravel app.
composer require fawzanm/laravel-pushy-notification
Manually registering the service provider?
// config/app.php
'providers' => [
...
\Fawzanm\Pushy\PushyServiceProvider::class,
...
];
- Obtain a PUSHY_API_KEY from Pushy by creating an app
- Add an entry in your
config/services.phpand an entry in.envfile asPUSHY_API_KEY=your_api_key. You can replace thedefault-api-keywith your key if you are not using an environment file.
'pushy' => [ 'key' => env('PUSHY_API_KEY','default-api-key') ]
Pushy has a great documentation you can follow. Be sure to check it out.
Use Artisan to create a notification:
php artisan make:notification SomeNotificationReturn [pushy] in the public function via($notifiable) method of your notification:
public function via($notifiable)
{
return ['pushy'];
}Add the method public function toPushy($notifiable) to your notification, and return an instance of PushyMessage:
use Fawzanm\Pushy\PushyMessage;
...
public function toPushy($notifiable)
{
$message = new PushyMessage();
$message->notification([
'body' => 'Hello, World..',
'badge' => 1,
'sound' => 'ping.aiff'
])->data([
'type' => 'notification',
]);
return $message;
}When sending to specific device, make sure your notifiable entity has routeNotificationForPushy method defined:
/**
* Route notifications for the Pushy channel.
*
* @param \Illuminate\Notifications\Notification $notification
* @return string
*/
public function routeNotificationForPushy($notification)
{
return $this->device_token;
}Please see CHANGELOG for more information what has changed recently.
$ composer testIf you discover any security related issues, please email fawzanm@gmail.com instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.