fixedbit / laravel-pushover
A simple, yet very powerful, package that helps you get started with sending push notifications to your iOS or Android device through the pushover.net service.
Requires
- php: ^7.3 || ^8.0
- fakerphp/faker: ^1.9.1
- laravel/framework: ^8.0
Requires (Dev)
- mockery/mockery: ^1.4.4
- phpunit/phpunit: ^9.5.10
README
A simple, yet very powerful, package that helps you get started with sending push notifications to your iOS, Android or Desktop through the pushover.net service.
Content
Installation
To get the latest version of fixedbit/laravel-pushover simply require it in your composer.json
file.
composer require fixedbit/laravel-pushover
This package utilizes the autodiscovery features of Laravel so the installation will be a breeze.
Configuration
The only configuration you need to do is to add the following to your .env
file
PUSHOVER_TOKEN=[enter your token here] PUSHOVER_USER=[place this your user key here]
Usage
Send message
// (REQUIRED) Import our PushoverMessage package use Pushover\PushoverMessage; // 1) Simple with just message $message = new PushoverMessage('Taylor Otwell is a Legend')->send(); // 2) Simple with message and title $message = new PushoverMessage('Learn Laravel from laracasts.com!', 'Learn Laravel')->send(); // 3) You can also choose to add a message (and/or) title as part of the chain $message = new PushoverMessage()->message('Futurama Forever!')->title('Best TV Show')->send();
Advanced usage:
$message = new PushoverMessage('My <b>message</b> content.', 'My title!'); $message->isHtml() ->sound('cashregister') ->url('http://example.com') ->urlTitle('ExampleSite') ->priority(1) ->device('my-main-device') ->send();
Get limits
To get your monthly limits, write the following:
$limitation = new PushoverLimitation(); $limitsResponse = $limitation->get(); echo $limitsResponse->limit(); echo $limitsResponse->remaining(); echo $limitsResponse->reset();
Get receipt
When a message with priority 2
is sent, you can get a receipt to check on the acknowledgment of the message.
$message = new PushoverMessage($this->faker->sentence, $this->faker->word); $messageResponse = $message ->priority(2) ->retry(30) ->expire(120) ->send(); $receiptResponse = $messageResponse->receipt()->get(); // Available methods $receiptResponse->acknowledged(); // returns boolean $receiptResponse->acknowledgedAt(); // returns Carbon $receiptResponse->acknowledgedBy(); // returns string $receiptResponse->acknowledgedByDevice(); // returns string $receiptResponse->lastDeliveredAt(); // returns Carbon $receiptResponse->expired(); // returns boolean $receiptResponse->expiresAt(); // returns Carbon $receiptResponse->calledBack(); // returns boolean $receiptResponse->calledBackAt(); // returns Carbon
License
Copyright (c) 2022 Jason Hawks Licensed under the MIT license.
Forked from Laravel Pushover by Edward Karlsson and updated with respect.