A Push manager to send push messages to mobile devices from your project.
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
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
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
Nodes\Push\ServiceProvider::class
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
push();
push()->setMessage('test')
->setExtra([
'id' => 1
])
->send();
// 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
This package is developed and maintained by the PHP team at Nodes Agency
This package is open-sourced software licensed under the MIT license