2017 © Pedro Peláez
 

library pusher-push-notifications

Pusher native Push Notifications driver.

image

overmob/pusher-push-notifications

Pusher native Push Notifications driver.

  • Thursday, January 18, 2018
  • by illambo
  • Repository
  • 0 Watchers
  • 0 Stars
  • 54 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 38 Forks
  • 0 Open issues
  • 8 Versions
  • 15 % Grown

The README.md

Pusher push notifications channel for Laravel 5.5

Latest Version on Packagist Software License Build Status StyleCI SensioLabsInsight Quality Score Code Coverage Total Downloads, (*1)

This package makes it easy to send Pusher push notifications with Laravel 5.5., (*2)

Contents

Installation

You can install the package via composer:, (*3)

``` bash composer require overmob/pusher-push-notifications:dev-master, (*4)


You could install the service provider: ```php // config/app.php 'providers' => [ ... NotificationChannels\PusherPushNotifications\PusherPushNotificationsServiceProvider::class, ],

Setting up your Pusher account

Before using this package you should set up a Pusher account. Here are the steps required., (*5)

  • Login to https://dashboard.pusher.com/
  • Select your app from the sidebar or create a new app.
  • Click on the "Push Notifications" tab.
  • Upload your APNS Certificate or add your GCM API key.
  • Now select the "App Keys" tab.
  • Copy your app_id, key, and secret.
  • Update the values in your config/broadcasting.php file under the pusher connection.
  • You're now good to go.

Usage

Now you can use the channel in your via() method inside the Notification class., (*6)

``` php use NotificationChannels\PusherPushNotifications\PusherChannel; use NotificationChannels\PusherPushNotifications\PusherMessage; use Illuminate\Notifications\Notification;, (*7)

class AccountApproved extends Notification { public function via($notifiable) { return [PusherChannel::class]; }, (*8)

public function toPushNotification($notifiable)
{
    return PusherMessage::create()
        ->android()
        ->title('')
        ->icon('')
        ->badge(1)
        ->sound('success')
        ->body("Your {$notifiable->service} account was approved!");
}

}, (*9)


### Available Message methods - `platform('')`: Accepts a string value of `iOS` or `Android`. - `iOS()`: Sets the platform value to iOS. - `android()`: Sets the platform value to Android. - `title('')`: Accepts a string value for the title. - `body('')`: Accepts a string value for the body. - `sound('')`: Accepts a string value for the notification sound file. Notice that if you leave blank the default sound value will be `default`. - `icon('')`: Accepts a string value for the icon file. (Android Only) - `badge(1)`: Accepts an integer value for the badge. (iOS Only) - `setOption($key, $value)`: Allows you to set any value in the message payload. For more information [check here for iOS](https://pusher.com/docs/push_notifications/ios/server), [or here for Android](https://pusher.com/docs/push_notifications/android/server). ### Sending to multiple platforms You can send a single message to an iOS device and an Android device at the same time using the `withiOS()` and `withAndroid()` method: ```php public function toPushNotification($notifiable) { $message = "Your {$notifiable->service} account was approved!"; return PusherMessage::create() ->iOS() ->badge(1) ->body($message) ->withAndroid( PusherMessage::create() ->title($message) ->icon('icon') ); }
  • Notice that iOS is the default platform, which means you don't have to call ->iOS().
  • When using withAndroid() or withiOS() you don't have to define the platform, it's done behind the scenes for you.

Routing a message

By default the pusher "interest" messages will be sent to will be defined using the {notifiable}.{id} convention, for example App.User.1, however you can change this behaviour by including a routeNotificationForPusherPushNotifications() in the notifiable class method that returns the interest name., (*10)

Changelog

Please see CHANGELOG for more information what has changed recently., (*11)

Testing

bash $ composer test, (*12)

Security

If you discover any security related issues, please email themsaid@gmail.com instead of using the issue tracker., (*13)

Contributing

Please see CONTRIBUTING for details., (*14)

Credits

License

The MIT License (MIT). Please see License File for more information., (*15)

The Versions

22/02 2017
10/08 2016