This package makes it easy to send notifications using Expo with Laravel 8.x
Install this package with Composer:
composer require laravel-notification-channels/expo
If you use an Expo Access Token please set this in your environment.
EXPO_ACCESS_TOKEN=mysecrettoken
Firstly you will need to define a method to retrieve your Expo push token
class NotifiableModel extends Model {
// You may pass a single token
public function routeNotificationForExpo($notification)
{
return "ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx]"
}
// Or you may return an array of tokens, for example, a user could have multiple devices.
public function routeNotificationForExpo($notification)
{
return $this->installations->pluck('expo_token')->toArray()
}
}
<?php
namespace App\Notifications;
use App\Models\Message;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use NotificationChannels\Expo\ExpoChannel;
use NotificationChannels\Expo\ExpoMessage;
class NewMessageNotification extends Notification
{
use Queueable;
private Message $message;
public function __construct(Message $message)
{
$this->message = $message;
}
public function via($notifiable)
{
return [ExpoChannel::class];
}
public function toExpo($notifiable)
{
return ExpoMessage::create()
->title("New Message from {$this->message->from}!")
->body($this->message->text)
->badge(1);
}
}
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email nick@npratley.net instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.