Skip to content

salfade/laravel-pushy-notification

Repository files navigation

Laravel Pushy Notification

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.

About

Send notifications using pushy API with Laravel

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages