Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A Push manager to send push messages to mobile devices from your project.

Total downloads Monthly downloads Latest release Open issues License Star repository on GitHub Watch repository on GitHub Fork repository on GitHub Travis tests codecov StyleCI

πŸ“ Introduction

At Nodes we send a lot of push messages from our mobile API's.

Therefore we've created a push manager, which makes the job a lot easier

πŸ“¦ Installation

To install this package you will need:

  • Laravel 5.2+
  • PHP 7.0+

You must then modify your composer.json file and run composer update to include the latest version of the package in your project.

"require": {
    "nodes/push": "^2.0"

Or you can run the composer require command from your terminal.

composer require nodes/push:^2.0

πŸ”§ Setup

In Laravel 5.5 or above, service providers and aliases are automatically registered. If you're using Laravel 5.5 or above, skip ahead directly to Publish config files.

Setup service provider in config/app.php


Setup alias in config/app.php

'Push' => Nodes\Push\Support\Facades\Push::class

Publish config files

php artisan vendor:publish --provider="Nodes\Push\ServiceProvider"

If you want to overwrite any existing config files use the --force parameter

php artisan vendor:publish --provider="Nodes\Push\ServiceProvider" --force

βš™ Usage

Global method



    'id' => 1

Function on provider used to send push

// Add data to push
setMessage(string $message) : ProviderInterface; // Message (Required)
setExtra(array $extra) : ProviderInterface; // Array of key/value (int, float, bool, string)

// Segment push for userId / userIds
setAlias(string $alias) : ProviderInterface;
setAliases(array $aliases) : ProviderInterface;

// Segment push for channels, like "weekend_news" or "daily_news"
setChannels(array $channels) : ProviderInterface;
setChannel(string $channel) : ProviderInterface;

// Send push, before this is executed nothing will get send
send() : array; //In request, return array of results from provider

// Advanced configs
setIOSBadge($iOSBadge) : ProviderInterface; //Control badge on iOS app icon
setSound(string $sound) : ProviderInterface; // Custom sound
removeSound() : ProviderInterface; // Remove custom sound
setIosContentAvailable(bool $iosContentAvailable) : ProviderInterface; // Should not go in notification center
setAndroidData(array $androidData) : ProviderInterface; // Add more extra for android only, android can handle 8 times more data in push than iOS
setAndroidDeliveryPriorityHigh() : ProviderInterface; // Make sure the Android device wakes up when push is recieved 
setAppGroup(string $appGroup) : ProviderInterface; // Change your default-app-group in run time. Handy for white labeling

πŸ† Credits

This package is developed and maintained by the PHP team at Nodes Agency

Follow Nodes PHP on Twitter Tweet Nodes PHP

πŸ“„ License

This package is open-sourced software licensed under the MIT license