santigp258 / expo-notification-channel
Expo Notifications driver for Laravel
v1.0.0
2022-07-20 07:12 UTC
Requires
- php: >=7.4 | ^8.0
- ext-json: *
- guzzlehttp/guzzle: ~6.0 || ~7.0
- illuminate/notifications: ~6.0 || ~7.0 || ~8.0 || ~9.0
- illuminate/support: ~6.0 || ~7.0 || ~8.0 || ~9.0
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/testbench: ^6.18
- phpunit/phpunit: ^8.0
This package is not auto-updated.
Last update: 2024-11-07 16:32:34 UTC
README
This package makes it easy to send notifications using Expo with Laravel 8.x
Contents
Installation
Install this package with Composer:
composer require santigp258/expo-notification-channel
Setting up the Expo service
If you use an Expo Access Token please set this in your environment.
EXPO_ACCESS_TOKEN=mysecrettoken
Usage
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); } }
Available Message methods
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Security
If you discover any security related issues, please email nick@npratley.net instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.