1. Go to this page and download the library: Download bhhaskin/laravel-webpush library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bhhaskin / laravel-webpush example snippets
use Bhhaskin\LaravelWebpush\Concerns\HasPushSubscriptions;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use Notifiable;
use HasPushSubscriptions;
}
use Bhhaskin\LaravelWebpush\Messages\WebPushMessage;
use Illuminate\Notifications\Notification;
class OrderShipped extends Notification
{
public function __construct(public int $orderId) {}
public function via($notifiable): array
{
return ['webpush'];
}
public function toWebPush($notifiable): WebPushMessage
{
return WebPushMessage::create('Your order shipped')
->body('Tracking is available in your dashboard.')
->icon('/icons/package.png')
->tag("order-{$this->orderId}")
->url("/orders/{$this->orderId}");
}
}
$user->notify(new OrderShipped($order->id));
WebPushMessage::create('Title', 'Body')
->icon('/icons/icon-192.png')
->badge('/icons/badge-96.png')
->image('/images/hero.png')
->tag('unique-tag') // replaces prior notifications with the same tag
->url('/path/to/open') // read in the SW click handler via event.notification.data.url
->