echo75 Mobilde ne kullanıyorsunuz bilmiyorum ama mesela React Native ile yazdınız diyelim, MessageSent şeklinde broadcasting yapan bir event'ınız var
class MessageSent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public function __construct(
public int $userId,
public string $message,
)
{
//
}
public function broadcastOn()
{
return new PrivateChannel('user.'.$this->userId);
}
public function broadcastAs()
{
return 'message.sent';
}
}
MessageSent::dispatch(13, 'Merhaba');
JS kullandığınız için bunu mobilde dinlemek için Laravel Echo kullandınız (Echo'nun avantajı bir çok ayarın ve auth kısmının kendi içinde hazır olması)
https://laravel.com/docs/10.x/broadcasting
Mobil uygulamada ya da frontend'de şöyle dinliyorsunuz:
Echo.private(`user.13`)
.listen('.message.sent', (e) => {
console.log(e.message); // "Merhaba"
});
ya da broadcasting driver için Pusher kullandınız ve Swift ile iOS uygulaması yazıyorsunuz:
let channel = pusher.subscribe("user.13")
channel.bind(eventName: ".message.sent", callback: { (optionalData: Any?) -> Void in
if let data = optionalData as? [String: Any], let message = data["message"] as? String {
print("\(message)") // "Merhaba"
}
})
Broadcasting zor değil ama ilk kurulum kısımları uğraştıran bir işlem.