andreshg112 / pusher-api-notifications
Send Pusher API Notifications
Requires
- php: >=7.1.0
- illuminate/notifications: ^5.3|^5.4|^5.5|^5.6|^5.7|^5.8|^6.0|^7.0
- illuminate/support: ^5.1|^5.2|^5.3|^5.4|^5.5|^5.6|^5.7|^5.8|^6.0|^7.0
- pusher/pusher-http-laravel: ^4.2
Requires (Dev)
- mockery/mockery: ^1.2
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-25 05:01:36 UTC
README
This package makes it easy to send notifications using Pusher API Messages (like shown below) with Laravel 5.3 or greater.
Contents
- Installation - Setting up the Pusher API Notifications service
- Usage - Available Message methods
- Changelog
- Testing
- Security
- Contributing
- Credits
- License
Installation
Require the package:
$ composer require andreshg112/pusher-api-notifications
Setting up the Pusher API Notifications service
This package requires pusher/pusher-http-laravel ^4.2, so after installing this, you have to configure it.
If your using Laravel ^5.5, don't worry about adding the service provider to your
config/app.php
file because this package uses Laravel Package Discovery. If don't, you have to add it:
'providers' => [ // ..., Andreshg112\PusherApiNotifications\PusherApiServiceProvider::class, ],
Usage
This is a third-party Laravel Notification Package, so you should know how to use Notifications in Laravel before using this. Docs can be found here: https://laravel.com/docs/master/notifications.
In your notification, add the PusherApiChannel
to the via()
function:
use Andreshg112\PusherApiNotifications\PusherApiChannel; public function via($notifiable) { return [PusherApiChannel::class]; }
Then, create a method called toApiNotification()
in your notification:
use Andreshg112\PusherApiNotifications\PusherApiMessage; public function toApiNotification($notifiable) { return (new PusherApiMessage) ->channels($channelName) ->event($eventName) ->data($data) ->socketId($socketId) ->debug($debug) ->alreadyEncoded($alreadyEncoded); // or return new PusherApiMessage($channelName, $eventName, $data, $socketId, $debug, $alreadyEncoded); }
Available Message methods
channels($channelName)
: array or string of channel name(s).event($eventName)
: the name of the event for the Pusher message.data($data)
: array, string or something that can be corverted to JSON. It's the body of the Pusher message.socketId($socketId)
: [optional] socketId of Pusher.debug($debug)
: [optional] boolean that tells Pusher if you're debugging.alreadyEncoded($alreadyEncoded)
: [optional] If the data is already encoded and you don't want Pusher to convert it, set this to true.
These parameters are the same received by Pusher::trigger()
method.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Security
If you discover any security related issues, please email andreshg112@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.