tzurbaev/unisender-notifications-channel

Unisender 通知通道适用于 Laravel

0.9.0 2017-12-03 05:57 UTC

This package is auto-updated.

Last update: 2024-09-07 08:14:56 UTC


README

Build Status StyleCI ScrutinizerCI Latest Version on Packagist Software License

要求

此包需要 PHP 7.1 或更高版本。

安装

您可以通过 composer 安装此包

$ composer require tzurbaev/unisender-notifications-channel

设置 Unisender 服务

将 Unisender API 密钥添加到 config/services.php 文件

'unisender' => [
    'api-key' => 'KEY_HERE',
],

此密钥将用作所有通知的默认密钥。您可以为具体通知随时覆盖它。

文档

UnisenderChannell::class 添加到通知的 via 方法,并实现 toUnisender($notifiable) 方法

<?php

namespace App\Notifications;

use Illuminate\Notifications\Notification;
use NotificationChannels\Unisender\UnisenderChannel;
use NotificationChannels\Unisender\UnisenderMessage;

class SubscriptionActivatedNotification extends Notification
{
    public function via($notifiable)
    {
        return [UnisenderChannel::class];
    }
    
    public function toUnisender($notifiable)
    {
        return (new UnisenderMessage)
            ->from('Laravel')
            ->content('Your subscription is active!');
    }
}

此外,您的 Notifiable 类必须具有 routeNotificationForUnisender 方法,该方法应返回单个电话号码(E.164 格式)或电话号码列表(逗号分隔或数组)。

<?php

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use Notifiable;
    
    public function routeNotificationForUnisender()
    {
        return '+79641234567'; // or ['+79641234567', '+79831234567'];
    }
}

可用方法

  • UnisenderMessage::silent(bool $flag = true) - 设置 '静音模式' - 在发送短信时通道不会抛出任何异常;
  • UnisenderMessage::usingAccessToken($token) - 仅重置当前消息的令牌;
  • UnisenderMessage::from(string $from) - 设置发送者名称;
  • UnisenderMessage::content(string $content) - 设置消息内容。

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

测试

$ vendor/bin/phpunit

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全性

如果您发现任何安全问题,请通过电子邮件 zurbaev@gmail.com 而不是使用问题跟踪器。

许可证

MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。