lifespikes / expo-notification-channel
用于Laravel的Expo通知驱动程序
v1.0.0
2022-03-30 01:01 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
README
此包使您能够通过Laravel 8.x轻松使用Expo发送通知
内容
安装
使用Composer安装此包
composer require lifespikes/expo-notification-channel
设置Expo服务
如果您使用Expo访问令牌,请将其设置在您的环境中。
EXPO_ACCESS_TOKEN=mysecrettoken
用法
首先,您需要定义一个方法来检索您的Expo推送令牌
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); } }
可用消息方法
变更日志
有关最近更改的更多信息,请参阅变更日志
测试
$ composer test
安全
如果您发现任何与安全相关的问题,请通过电子邮件nick@npratley.net联系,而不是使用问题跟踪器。
贡献
有关详细信息,请参阅贡献指南
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件