2017 © Pedro Peláez
 

library webpush

Web Push Notifications driver for Laravel.

image

zupago/webpush

Web Push Notifications driver for Laravel.

  • Friday, November 17, 2017
  • by zupago
  • Repository
  • 1 Watchers
  • 0 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Web push notifications channel for Laravel

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

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

Installation

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

``` bash composer require zupago/webpush, (*4)


First you must install the service provider (skip for Laravel>=5.5): ``` php // config/app.php 'providers' => [ ... NotificationChannels\webpush\webpushServiceProvider::class, ],

Add the NotificationChannels\webpush\HasPushSubscriptions trait to your User model:, (*5)

``` php use NotificationChannels\webpush\HasPushSubscriptions;, (*6)

class User extends Model { use HasPushSubscriptions; }, (*7)


Next publish the migration with: ``` bash php artisan vendor:publish --provider="NotificationChannels\webpush\webpushServiceProvider" --tag="migrations"

Run the migrate command to create the necessary table:, (*8)

``` bash php artisan migrate, (*9)


You can also publish the config file with: ``` bash php artisan vendor:publish --provider="NotificationChannels\webpush\webpushServiceProvider" --tag="config"

Generate the VAPID keys with (required for browser authentication) with:, (*10)

``` bash php artisan webpush:vapid, (*11)


This command will set `VAPID_PUBLIC_KEY` and `VAPID_PRIVATE_KEY`in your `.env` file. __These keys must be safely stored and should not change.__ If you still want support [Google Cloud Messaging](https://console.cloud.google.com) set the `GCM_KEY` and `GCM_SENDER_ID` in your `.env` file. ## Usage Now you can use the channel in your `via()` method inside the notification as well as send a web push notification: ``` php use Illuminate\Notifications\Notification; use NotificationChannels\webpush\webpushMessage; use NotificationChannels\webpush\webpushChannel; class AccountApproved extends Notification { public function via($notifiable) { return [webpushChannel::class]; } public function towebpush($notifiable, $notification) { return webpushMessage::create() // ->id($notification->id) ->title('Approved!') ->icon('/approved-icon.png') ->body('Your account was approved!') ->action('View account', 'view_account'); } }

Save/Update Subscriptions

To save or update a subscription use the updatePushSubscription($endpoint, $key = null, $token = null) method on your user:, (*12)

``` php $user = \App\User::find(1);, (*13)

$user->updatePushSubscription($endpoint, $key, $token);, (*14)


The `$key` and `$token` are optional and are used to encrypt your notifications. Only encrypted notifications can have a payload. ### Delete Subscriptions To delete a subscription use the `deletePushSubscription($endpoint)` method on your user: ``` php $user = \App\User::find(1); $user->deletePushSubscription($endpoint);

Browser Compatibility

The Push API currently works on Chrome and Firefox., (*15)

Changelog

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

Testing

bash $ composer test, (*17)

The Versions

17/11 2017

dev-scrutinizer-patch-1

dev-scrutinizer-patch-1 https://github.com/zupago/webpush

Web Push Notifications driver for Laravel.

  Sources   Download

MIT

The Requires

 

The Development Requires