lifespikes/expo-notification-channel

用于Laravel的Expo通知驱动程序

v1.0.0 2022-03-30 01:01 UTC

This package is auto-updated.

Last update: 2024-09-04 08:55:14 UTC


README

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads

此包使您能够通过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)。有关更多信息,请参阅许可证文件