mWebRTC

Видеочат админа с клиентом
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
AfterGOD
Пакетов
1
Закачек
43
Автор дополнения
Пакетов
1
Закачек
43
Версия 1.0.3-pl
Дата выпуска 22.11.2018
Загрузки 43
Просмотры 3 554
Внимание, этот компонент требует версию PHP 7.0 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Данный компонент реализует видеочат в формате админ/гость, т.е. сидит админ на сайте и любой пользователь может связаться с ним. Своеобразная консультация/техподдержка с возможностью подключения видеокамеры.
Возможности
  • Видеочат между пользователем и администратором сайта
  • Пуш-уведомления в качестве оповещения
  • Очередь между пользователями
  • Также присутствует простенький чат для клиентов в очереди
Настройка

Во-первых, нужно поместить `/assets/components/mwebrtc/js/sw.js` в корень сайта. Подробнее об этом файле будет ниже в описании настройки Service Worker.

Шаблон mWebRTC.main содержит jquery и js-скрипты для анимаций и дизайна. Если вам нужен лишь функционал, то можете обойтись и без него.

Пока что в компоненте лишь 2 сниппета: mwebrtcAdmin и mwebrtcClient. Каждый из них загружает чанк для соответствующего пользователя, а также обрабатывает его запросы, связанные с компонентом.

Системные настройки

  • Service Worker — Путь к Service Worker'у, который будет обрабатывать пуш-уведомления компонента. По умолчанию `/sw.js`. Важно: service worker будет перехватывать пуш-уведомления только тех файлов, которые расположены в том же каталоге или в подкаталогах этого каталога. Соотвественно если service worker расположен в корне сайта, то он будет контролировать запросы всех файлов данного сайта. Если же у вас уже есть service worker, то тогда вставьте код моего файла в свой или используйте importScripts.
  • Admin URL и Client URL — Ссылки, которые будут открываться при нажатии на уведомления. Можно ввести как URL, так и id страницы. Эти настройки необязательны.
  • публичный и приватный VAPID ключи — Технология web push использует стандарт VAPID для ограничения валидности подписок на пуш-уведомления на конкретный сервер приложения (т.е., имея свой уникальный VAPID, только ваш сервер сможет отправлять уведомления подписчикам). Поэтому я крайне рекомендую сгенерировать свои VAPID ключи. это можно сделать здесь или с помощью вот такого php-скрипта:
    require_once MODX_CORE_PATH.'components/mwebrtc/web_push/vendor/autoload.php';
    use Minishlink\WebPush\VAPID;
    
    var_dump(VAPID::createVapidKeys());
  • VAPID субъект — Эта строка должна быть либо URL, либо email адресом. Эта часть информации на самом деле будет отправлена web push сервису как часть запроса для срабатывания push'а. Это сделано для того, чтобы если web push сервису нужно будет связаться с отправителем, будет для этого какая-либо информация.

Свойства сниппетов

  • animModal — Определяет анимации дизайна. Список анимаций находится в сниппетах.
  • icon — Иконка дизайна.
  • group — Только для mwebrtcAdmin. Группа пользователей имеет статус админа компонента и соответствующий доступ к его функционалу.

Пользование

  1. С самого начала, админ должен подписаться на рассылку уведомления, нажав на кнопку subscribe. Если браузер попросит права на уведомления, принимайте. Подписываться нужно лишь один раз.
  2. Как только клиент нажмёт на кнопку open_room, он будет добавлен в очередь ожидания. Ему также нужно разрешить отправку уведомлений.
  3. Как только клиент зайдёт в очередь, на все браузеры, которые подписаны, придёт уведомление. Его нужно закрыть в течение минуты, иначе компонент посчитает, что все админы недоступны, клиент будет выкинут из очереди и ему будет предложено оставить заявку на обратный звонок.
  4. В этот момент админы могут общаться с клиентами через простенький встроенный текстовый чат.
  5. Чтобы создать WebRTC комнату и пригласить клиента на видеозвонок, нужно нажать на кнопку call_button рядом с его именем. Браузер запросит доступ к микрофону и камере. Потом через пару секунд, клиент получит уведомление о приглашении.
  6. После того, как клиент получит приглашение, на его странице появится кнопка call. После её нажатия также будет запрос на камеру и микрофон. После этого начнётся соединение.
  7. Соединение должно занять несколько секунд. Как только админ и клиент соединятся, они увидят камеру друг друга и смогут разговаривать с помощью микрофона. Каждый сможет отключиться, нажав на кнопку hangup.
  8. Клиент может переподключиться после отсоединения. Но админ будет являться хостом и его отключение будет закрывать комнату.

1.0.1-pl

  • Исправлен поиск в меню таблиц

1.0.2-pl

  • Исправлена проблема, из-за которой не показывалась иконка по-умолчанию

1.0.3-pl

  • Исправлена ошибка, из-за которой не работала кнопка "Покинуть очередь"

Последние обсуждения в сообществе MODX.pro