Git Product home page Git Product logo

laravel-pushy-notification's Introduction

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 [email protected] 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.

laravel-pushy-notification's People

Contributors

fawzanm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.