fawzanm / laravel-pushy-notification
Laravel Pushy Notification Channel
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.2
- illuminate/config: ~5.5|^6.0 || ~7.0
- illuminate/notifications: ~5.5 || ~6.0 || ~7.0
- illuminate/queue: ~5.5|^6.0 || ~7.0
- illuminate/support: ~5.5 || ~6.0 || ~7.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2025-01-29 06:37:43 UTC
README
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.
Contents
Installation
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') ]
Setting up the Pushy service
Pushy has a great documentation you can follow. Be sure to check it out.
Example Usage
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; }
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Security
If you discover any security related issues, please email fawzanm@gmail.com instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.