Merhabalar herkesin bayramı mübarek olsun öncelikle,
laravel echo ve pusher ile anlık mesajlaşma sistemi yapıyordum fakat ilk kurduğumda çalışan sistem az önce denediğimde çalışmaz oldu bir ayarıyla oynadığımı da hatırlamıyorum nerede hata yapmış olabilirim acaba?
NewMessage.php
class NewMessage implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $message;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(MessageReplies $replies)
{
$this->message = $replies;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('messages.' . $this->message->user);
}
public function broadcastWith()
{
return ["message" => $this->message->content];
}
}
Vue kodum
window.Echo.private(`messages.${this.user.id}`)
.listen('NewMessage', (e) => {
console.log(e);
});
bootstrap.js içeriğinin bir kısmı
import Echo from 'laravel-echo';
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true
});
routes/channels.php
Broadcast::channel('messages.{id}', function ($user, $id) {
return $user->id === $id;
});