PHP code example of barnsleyhq / laravel-simplepush-notification-channel

1. Go to this page and download the library: Download barnsleyhq/laravel-simplepush-notification-channel 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/ */

    

barnsleyhq / laravel-simplepush-notification-channel example snippets




use BarnsleyHQ\SimplePush\Models\Actions\GetAction;
use BarnsleyHQ\SimplePush\Models\Actions\GetActions;
use BarnsleyHQ\SimplePush\Models\Attachments\VideoAttachment;
use BarnsleyHQ\SimplePush\Models\SimplePushMessage;

...

class CustomAlert
{
    ...

    public function via($notifiable)
    {
        $channels = [];

        ...

        $channels[] = 'simplepush';

        return $channels;
    }

    public function toSimplePush($notifiable): SimplePushMessage
    {
        return (new SimplePushMessage)
            ->token($notifiable->tokens->simplepush) // Change this line to get the token
            ->title('Custom Alert')
            ->content('You have a new alert!')
            ->event('Custom Event')
            ->actions(GetActions::make([
                GetAction::make('Pause for 1 hour', 'https://webhooks.test.com/pause?hours=1'),
                GetAction::make('Pause for 24 hours', 'https://webhooks.test.com/pause?hours=24'),
            ]))
            ->attachments(VideoAttachment::make('https://my-url.com/thumbnail.png', 'https://my-url.com/video.mp4'));
    }

    ...

}

$message = (new SimplePushMessage())
    ->token('test-token');

$message = new SimplePushMessage();
$message->token('test-token');

$message = (new SimplePushMessage())
    ->content('This is a Test Alert');

$message = new SimplePushMessage();
$message->content('This is a Test Alert');

$message = (new SimplePushMessage())
    ->title('Test Alert');

$message = new SimplePushMessage();
$message->title('Test Alert');

$message = (new SimplePushMessage())
    ->event('test-event');

$message = new SimplePushMessage();
$message->event('test-event');

$message = (new SimplePushMessage())
    ->actions(FeedbackActions::make('Pause events for 1 hour'));

$actions = FeedbackActions::make([
    'Pause events for 1 hour',
    'Pause events for 2 hours',
]);
$actions->add('Pause events for 3 hours');

$message = new SimplePushMessage();
$message->actions($actions);

$message = (new SimplePushMessage())
    ->actions(GetActions::make(GetAction::make('Pause events for 1 hour', 'https://my-url.com/pause?hours=1')));

$actions = GetActions::make([
    GetAction::make('Pause events for 1 hour', 'https://my-url.com/pause?hours=1'),
    GetAction::make('Pause events for 2 hours', 'https://my-url.com/pause?hours=2'),
]);
$actions->add(GetAction::make('Pause events for 3 hours', 'https://my-url.com/pause?hours=3'));

$message = new SimplePushMessage();
$message->actions($actions);

$actions = FeedbackActions::make('Action 1');
$actions = FeedbackActions::make('Action 1', fn ($feedbackId) => saveFeedbackId($feedbackId));

FeedbackActions::getFeedbackResponseForId('5e885b1d33c547bbac78bda8cdaf7be7');

$actions = FeedbackActions::make('Action 1')
    ->add('Action 2');

$actions = new FeedbackActions();
$actions->add([
    'Action 1',
    'Action 2',
]);

$actions = FeedbackActions::make('Action 1')
    ->sendCallback(fn ($feedbackId) => saveFeedbackId($feedbackId));

$actions = new FeedbackActions();
$actions->sendCallback(function ($feedbackId) {
    $this->saveFeedbackId($feedbackId);
});

$actions = FeedbackActions::make('Action 1')
    ->toArray();

$actions = new FeedbackActions();
$actions->toArray();

$actions = GetActions::make(GetAction::make('Action 1', 'https://my-url.com/action'));

$actions = GetActions::make(GetAction::make('Action 1', 'https://my-url.com/action'))
    ->add(GetAction::make('Action 2', 'https://my-url.com/action-2'));

$actions = new GetActions();
$actions->add([
    GetAction::make('Action 1', 'https://my-url.com/action'),
    GetAction::make('Action 2', 'https://my-url.com/action-2'),
]);

$actions = GetActions::make()
    ->addAction('Action 1', 'https://my-url.com/action');

$actions->addAction('Action 1', 'https://my-url.com/action');

$actions = GetActions::make(GetAction::make('Action 1', 'https://my-url.com/action'))
    ->toArray();

$actions = new GetActions();
$actions->toArray();

$actions = GetAction::make('Action 1', 'https://my-url.com/action');

$actions = GetAction::make('Action 1', 'https://my-url.com/action')
    ->setName('Renamed Action')
    ->setUrl('https://my-url.com/renamed-action');

$actions = new GetAction();
$actions->setName('Action 1')
    ->setUrl('https://my-url.com/action');

$actions = GetAction::make()
    ->addAction('Action 1', 'https://my-url.com/action');

$actions->addAction('Action 1', 'https://my-url.com/action');

$actions = GetAction::make('Action 1', 'https://my-url.com/action')
    ->setName('Renamed Action')
    ->setUrl('https://my-url.com/renamed-action')
    ->toArray();

$actions = new GetAction();
$actions->setName('Action 1')
    ->setUrl('https://my-url.com/action')
    ->toArray();

$attachments = GenericAttachments::make('https://test.com/image.png');

$attachments = GenericAttachments::make('https://test.com/image.png')
    ->add('https://test.com/video.mp4');

$attachments = new GenericAttachments();
$attachments->add([
    'https://test.com/image.png',
    'https://test.com/video.mp4',
]);

$attachments = GenericAttachments::make('https://test.com/image.png')
    ->toArray();

$attachments = new GenericAttachments();
$attachments->toArray();

$actions = StreamAttachment::make('rtsp://my-url.com/stream');

$actions = StreamAttachment::make('rtsp://my-url.com/stream')
    ->setStreamUrl('rtsp://my-url.com/different-stream');

$actions = new StreamAttachment();
$actions->setStreamUrl('rtsp://my-url.com/stream');

$actions = StreamAttachment::make('rtsp://my-url.com/stream')
    ->toArray();

$actions = new StreamAttachment();
$actions->setStreamUrl('https://my-url.com/action')
    ->toArray();

$actions = VideoAttachment::make('https://my-url.com/thumbnail.png', 'https://my-url.com/video.mp4');

$actions = VideoAttachment::make('https://my-url.com/thumbnail.png', 'https://my-url.com/video.mp4')
    ->setThumbnailUrl('https://my-url.com/different-thumbnail.jpg');

$actions = new VideoAttachment();
$actions->setThumbnailUrl('rtsp://my-url.com/stream');

$actions = VideoAttachment::make('https://my-url.com/thumbnail.png', 'https://my-url.com/video.mp4')
    ->setVideoUrl('https://my-url.com/different-video.mp4');

$actions = new VideoAttachment();
$actions->setVideoUrl('https://my-url.com/video.mp4');

$actions = VideoAttachment::make('https://my-url.com/thumbnail.png', 'https://my-url.com/video.mp4')
    ->toArray();

$actions = new VideoAttachment();
$actions->setVideoUrl('https://my-url.com/action')
    ->toArray();



use BarnsleyHQ\SimplePush\Models\GetAction;
use BarnsleyHQ\SimplePush\Models\GetActions;
use BarnsleyHQ\SimplePush\Models\SimplePushMessage;

(new SimplePushMessage)
    ->token('123456')
    ->title('Custom Alert')
    ->content('You have a new alert!')
    ->event('Custom Event')
    ->actions(GetActions::make([
        GetAction::make('Pause for 1 hour', 'https://webhooks.my-url.com/pause?hours=1'),
        GetAction::make('Pause for 24 hours', 'https://webhooks.my-url.com/pause?hours=24'),
    ]))
    ->send();