$ composer require fahmiardi/laravel-notification
return [
...
'sns' => [
'key' => env('SNS_KEY'),
'secret' => env('SNS_SECRET'),
'region' => env('SNS_REGION'),
'profile' => env('AWS_PROFILE'), // keep this value empty when using credentials
],
];
<?php
$user->notify(
new \Fahmiardi\Laravel\Notifications\GenericSnsNotification($topicArn, $subject, $message)
);
<?php
namespace App\Notifications;
use Illuminate\Notifications\Notification;
use Fahmiardi\Laravel\Notifications\Channels\SnsChannel;
use Fahmiardi\Laravel\Notifications\Messages\SnsMessage;
class InvoicePaid extends Notification
{
protected $invoice;
public function __construct($invoice)
{
$this->invoice = $invoice;
}
public function via($notifiable)
{
return [SnsChannel::class];
}
public function toSns($notifiable)
{
return (new SnsMessage)
->topicArn('ARN')
->subject('SUBJECT')
->message('MESSAGE');
}
}
$user->notify(new InvoicePaid($invoice));