This package makes it easy to send notifications using Pusher API Messages (like shown below) with Laravel 5.3 or greater.
- Installation - Setting up the Pusher API Notifications service
- Usage - Available Message methods
- Changelog
- Testing
- Security
- Contributing
- Credits
- License
Require the package:
$ composer require andreshg112/pusher-api-notificationsThis 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.phpfile because this package uses Laravel Package Discovery. If don't, you have to add it:
'providers' => [
// ...,
Andreshg112\PusherApiNotifications\PusherApiServiceProvider::class,
],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);
}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.
Please see CHANGELOG for more information what has changed recently.
$ composer testIf you discover any security related issues, please email andreshg112@gmail.com instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.
