pusher-api-notifications
pusher-api-notifications copied to clipboard
Send Pusher API Notifications with Laravel notifications system.
Pusher API Notifications
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 [email protected] instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
- Andrés Herrera García
- All Contributors
License
The MIT License (MIT). Please see License File for more information.