@palansky

Как реализовать вывод статуса пользователя c Laravel echo и Pusher?

Здравствуйте, как реализовать отслеживание статуса пользователя в реалтайм приложении?
Например, если пользователь онлайн и подписан на канал, то имеет статус 'online' например, иначе 'offline', 'busy' и тд
  • Вопрос задан
  • 600 просмотров
Решения вопроса 1
Razgelday
@Razgelday
Для этого надо использовать Presence-каналы (см. https://laravel.com/docs/master/broadcasting#prese... ).

Presence-каналы - это те же приватные каналы, но в них дополнительно можно получить информацию о подключенных юзерах, а также отслеживать события "присоединения" и "отключения" юзеров от канала.

Пример:

Echo.join(`chat.${roomId}`)
    .here((users) => {
        console.log(users); // Получаем список всех юзеров
    })
    .joining((user) => {
        console.log(user.name); //  Кто-то подключился к каналу, можно сделать его 'online'
    })
    .leaving((user) => {
        console.log(user.name); // Кто-то вышел из канала, можно сделать его 'offline'
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы