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.php
and an entry in.env
file asPUSHY_API_KEY=your_api_key
. You can replace thedefault-api-key
with 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 SomeNotification
Return [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 test
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.