Easily manage Expo notifications with Laravel. Support batched notifications.
Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
composer require yieldstudio/laravel-expo-notifier
You can publish the configuration file with:
php artisan vendor:publish --provider="YieldStudio\LaravelExpoNotifier\ExpoNotificationsServiceProvider" --tag="expo-notifications-config" --tag="expo-notifications-migration"
<?php
namespace App\Notifications;
use Illuminate\Notifications\Notification;
use YieldStudio\LaravelExpoNotifier\ExpoNotificationsChannel;
use YieldStudio\LaravelExpoNotifier\Dto\ExpoMessage;
class NewSampleNotification extends Notification
{
public function via($notifiable): array
{
return [ExpoNotificationsChannel::class];
}
public function toExpoNotification($notifiable): ExpoMessage
{
return (new ExpoMessage())
->to([$notifiable->expoTokens->value])
->title('A beautiful title')
->body('This is a content')
->channelId('default');
}
}
Send database pending notifications
php artisan expo:notifications:send
Clean tickets from outdated tokens
php artisan expo:tickets:check
You may create schedules to execute these commands.
You can send notification in the next batch :
(new ExpoMessage())
->to([$notifiable->expoTokens->value])
->title('A beautiful title')
->body('This is a content')
->channelId('default')
->shouldBatch();
Don't forget to schedule the expo:notifications:send
command.
To run the tests, just run composer install
and composer test
.
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you've found a bug regarding security please mail [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.