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.

1.1.0 2022-01-06 04:10 UTC

This package is auto-updated.

Last update: 2024-05-06 09:19:06 UTC


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.