PHPackages                             laravel-notification-channels/pushwoosh - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. laravel-notification-channels/pushwoosh

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

laravel-notification-channels/pushwoosh
=======================================

Pushwoosh notification channel for Laravel

v3.6.0(1y ago)337.0k↓45.3%6MITPHPPHP ^7.1|^8.0CI passing

Since Oct 4Pushed 1y ago2 watchersCompare

[ Source](https://github.com/laravel-notification-channels/pushwoosh)[ Packagist](https://packagist.org/packages/laravel-notification-channels/pushwoosh)[ RSS](/packages/laravel-notification-channels-pushwoosh/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (6)Versions (16)Used By (0)

Pushwoosh notification channel for Laravel
==========================================

[](#pushwoosh-notification-channel-for-laravel)

 [ ![Build status](https://camo.githubusercontent.com/3b5a04b39f74e8e78ce23d436abbeb02ebdadb33337d83dc60d96ef07a82d91b/68747470733a2f2f7472617669732d63692e6f72672f6c61726176656c2d6e6f74696669636174696f6e2d6368616e6e656c732f70757368776f6f73682e7376673f6272616e63683d6d6173746572) ](https://travis-ci.org/laravel-notification-channels/pushwoosh) [ ![Downloads](https://camo.githubusercontent.com/0df5c4532e9c18e536e5c06b16e9e357b156795b006b31df7850d574fcc84df1/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d6e6f74696669636174696f6e2d6368616e6e656c732f70757368776f6f73682f646f776e6c6f616473) ](https://packagist.org/packages/laravel-notification-channels/pushwoosh) [ ![Latest release](https://camo.githubusercontent.com/a4bbd979d04073b195e55f008dad15c38b9d1a33efd1823055412c9fcab97e21/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d6e6f74696669636174696f6e2d6368616e6e656c732f70757368776f6f73682f762f737461626c65) ](https://packagist.org/packages/laravel-notification-channels/pushwoosh) [ ![Code coverage](https://camo.githubusercontent.com/4197604ae9a8c5d9cb3d971c60cf6fd9971700b9698e23642ac882537663cb6c/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c61726176656c2d6e6f74696669636174696f6e2d6368616e6e656c732f70757368776f6f73682f6261646765732f636f7665726167652e706e673f623d6d6173746572) ](https://scrutinizer-ci.com/g/laravel-notification-channels/pushwoosh/) [ ![License](https://camo.githubusercontent.com/181942ace072fad1a23c7bc7cd821c23fda7d86a0911555a8145e913311ca8fa/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d6e6f74696669636174696f6e2d6368616e6e656c732f70757368776f6f73682f6c6963656e7365) ](LICENSE.md)

This package makes sending notifications using [Pushwoosh](https://www.pushwoosh.com/) a breeze.

Contents
--------

[](#contents)

- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
    - [Routing notifications](#routing-notifications)
    - [Sending notifications](#sending-notifications)
    - [Available methods](#available-methods)
- [Changelog](#changelog)
- [Testing](#testing)
- [Security](#security)
- [Contributing](#contributing)
- [Credits](#credits)
- [License](#license)

Requirements
------------

[](#requirements)

This make use of this package you need:

- Laravel 5.5 or higher
- PHP 7.1 or higher
- An active Pushwoosh subscription (and use at least one Pushwoosh SDK)

Installation
------------

[](#installation)

To install this package run the following command:

```
composer require laravel-notification-channels/pushwoosh
```

Next, add the following lines to your `config/services.php`:

```
'pushwoosh' => [
    'application' => env('PUSHWOOSH_APP_CODE'),
    'token' => env('PUSHWOOSH_TOKEN'),
],
```

You can now add the `PUSHWOOSH_APP_CODE` (found [here](https://go.pushwoosh.com/v2/applications)) and the `PUSHWOOSH_TOKEN` (found [here](https://go.pushwoosh.com/v2/api_access)) to your environment file.

Usage
-----

[](#usage)

Using this package, you can use Pushwoosh just like any other notification channel within Laravel. For more information about Laravel's notification system, see the [official documentation](https://laravel.com/docs/master/notifications).

Note that before you can start sending pushes you must first register users to your application using one of [Pushwoosh's SDKs](https://docs.pushwoosh.com/platform-docs/getting-started/untitled-2).

### Routing notifications

[](#routing-notifications)

In order for Pushwoosh to know to what devices it needs to send to, you will need to add the `routeNotificationForPushwoosh` to your notifiable model(s), for example:

```
class Customer extends Model
{
    use Notifiable;

    public function routeNotificationForPushwoosh()
    {
        // In this example 'device_id' is a token previously
        // retrieved from Pushwoosh using one of their SDKs
        return (new PushwooshRecipient)->device($this->device_id);
    }
}
```

The `routeNotificationForPushwoosh` method may return a string, an array of strings or a `PushwooshRecipient` instance. For more information about the `PushwooshRecipient` class refer to the [available methods](#pushwooshrecipient) section.

### Sending notifications

[](#sending-notifications)

Sending a pushwoosh message is easy, add `pushwoosh` to your notification's via method and implement the `toPushwoosh`method, for example:

```
class WishlistItemOnSale extends Notification
{
    public function via($notifiable)
    {
        return ['pushwoosh'];
    }

    public function toPushwoosh($notifiable)
    {
        return (new PushwooshMessage)
            ->content('Your wishlist item ' . $this->product->name . ' is on sale, get it now!')
            ->url(route('products.show', $this->product))
            ->deliverAt(Carbon::now()->addMinutes(10));
    }
}
```

> The `toPushwoosh` method may return a string or an instance of the `PushwooshMessage` class, for more information on the `PushwooshMessage` class refer to the [available methods](#pushwooshmessage) section.

You can then send a push to one user:

```
$customer->notify(new WishlistItemOnSale($product));
```

Or to multiple users:

```
Notification::send($customers, new WishlistItemOnSale($product));
```

#### Unknown devices

[](#unknown-devices)

When you reference devices that do not exist (anymore), a `NotificationChannels\Pushwoosh\Events\UnknownDevices` event will be dispatched.

You can easily hook into this event like so:

```
Event::listen(
    NotificationChannels\Pushwoosh\Events\UnknownDevices::class,
    function ($event) {
        // Handle the event
    }
);
```

### Available methods

[](#available-methods)

This section details the public API of this package.

#### PushwooshMessage

[](#pushwooshmessage)

Below is a list of available methods on the `PushwooshMessage` class.

MethodDescription`campaign($campaign)`Set the Pushwoosh campaign code`content($content[, $language])`Set the message content (optionally for a specific language)`deliverAt($when[, $timezone])`Set the delivery moment`identifier($identifier)`Set the Pushwoosh unique identifier (defaults to the notification ID)`preset($preset)`Set the Pushwoosh preset code`throttle($limit)`Throttle the rollout (100-1000 pushes per second)`title($title)`Set the message title (only on Chrome, Firefox, iOS and Safari)`url($url[, $shorten])`Set the URL the message should link to`useRecipientTimezone()`Respect the recipients' timezone when delivering the message`with($key, $value[, $platform])`Add a root level parameter.#### PushwooshRecipient

[](#pushwooshrecipient)

Below is a list of available methods on the `PushwooshRecipient` class.

MethodDescription`device($device[, ...])`Limit the delivery to the given device(s)`platform($platform[, ...])`Limit the delivery to the given [platform(s)](#platforms)`user($user[, ...])`Limit the delivery to the given [user(s)](https://www.pushwoosh.com/platform-docs/api-reference/user-centric-api)`within($lat, $lng, $range)`Limit the delivery to the given geo zone##### Platforms

[](#platforms)

Below is a list of supported platforms, for the `PushwooshRecipient::platform` method.

- Amazon
- Android
- Blackberry
- Chrome
- Firefox
- iOS
- Mac
- Safari
- Windows
- Windows Phone

Changelog
---------

[](#changelog)

Please see the [changelog](CHANGELOG.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
composer test
```

Contributing
------------

[](#contributing)

If you want to contribute to this package, take a look at the [contribution guide](CONTRIBUTING.md).

Credits
-------

[](#credits)

- [Choraimy Kroonstuiver](https://github.com/axlon)
- [All Contributors](../../contributors)

License
-------

[](#license)

This product is licensed under the MIT License (MIT). Please see the [License File](LICENSE.md) for more information.

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance44

Moderate activity, may be stable

Popularity34

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 56.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~141 days

Recently: every ~259 days

Total

15

Last Release

440d ago

Major Versions

v1.0.0 → v2.0.02020-03-04

v2.3.0 → v3.0.02021-01-07

PHP version history (3 changes)v1.0.0PHP ^7.0

v2.0.0PHP ^7.1

v3.1.0PHP ^7.1|^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/20937037?v=4)[Laravel Notification Channels](/maintainers/laravel-notification-channels)[@laravel-notification-channels](https://github.com/laravel-notification-channels)

---

Top Contributors

[![axlon](https://avatars.githubusercontent.com/u/3661474?v=4)](https://github.com/axlon "axlon (18 commits)")[![JurianArie](https://avatars.githubusercontent.com/u/28654085?v=4)](https://github.com/JurianArie "JurianArie (9 commits)")[![bvweijen](https://avatars.githubusercontent.com/u/2518540?v=4)](https://github.com/bvweijen "bvweijen (2 commits)")[![atymic](https://avatars.githubusercontent.com/u/50683531?v=4)](https://github.com/atymic "atymic (1 commits)")[![juanmos](https://avatars.githubusercontent.com/u/492572?v=4)](https://github.com/juanmos "juanmos (1 commits)")[![tgabi333](https://avatars.githubusercontent.com/u/187022?v=4)](https://github.com/tgabi333 "tgabi333 (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/laravel-notification-channels-pushwoosh/health.svg)

```
[![Health](https://phpackages.com/badges/laravel-notification-channels-pushwoosh/health.svg)](https://phpackages.com/packages/laravel-notification-channels-pushwoosh)
```

###  Alternatives

[vemcogroup/laravel-sparkpost-driver

SparkPost driver to use with Laravel 6.x|7.x|8.x|9.x|10.x

421.7M1](/packages/vemcogroup-laravel-sparkpost-driver)[spatie/mailcoach

Self-host Mailcoach

4007.0k](/packages/spatie-mailcoach)[guanguans/notify

Push notification SDK(AnPush、Bark、Chanify、DingTalk、Discord、Gitter、GoogleChat、IGot、Lark、Mattermost、MicrosoftTeams、NowPush、Ntfy、Push、Pushback、PushBullet、PushDeer、PushMe、Pushover、PushPlus、QQ、RocketChat、ServerChan、ShowdocPush、SimplePush、Slack、Telegram、WeWork、WPush、XiZhi、YiFengChuanHua、ZohoCliq、ZohoCliqWebHook、Zulip).

682104.9k7](/packages/guanguans-notify)[tzsk/sms

A robust and unified SMS gateway integration package for Laravel, supporting multiple providers.

320244.3k6](/packages/tzsk-sms)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)[motomedialab/smtp2go

Send emails via API using the first-class email courier SMTP2Go

1316.3k](/packages/motomedialab-smtp2go)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
