fawzanm/laravel-pushy-notification

Laravel Pushy Notification Channel

1.1 2020-05-19 08:40 UTC

This package is auto-updated.

Last update: 2024-04-29 04:15:41 UTC


README

Latest Version on Packagist Software License Total Downloads

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 as PUSHY_API_KEY=your_api_key. You can replace the default-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.