Настроил отправку уведомлений в laravel следующим образом:
.env:
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=тут мой id
PUSHER_APP_KEY=тут мой app_key
PUSHER_APP_SECRET=тут мой app_secret
PUSHER_APP_CLUSTER=ap2
broadcasting.php:
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'useTLS' => true,
],
],
Challenged.php:
<?php
namespace App\Events;
use App\Models\Challenge;
use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class Challenged implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $challenge;
public function __construct(Challenge $challenge){
$this->challenge = $challenge;
}
public function broadcastOn()
{
// return new Channel('challenge-channel');
return ['challenge-channel'];
}
public function broadcastAs()
{
return 'challenge-event';
}
}
Объявление события:
$challenge = (new Challenge())->create($challenge_fields);
event(new Challenged($challenge));
Но реакции на событие никакой. Когда отправляю через debug console, всё отрабатывает нормально.