{"id":14293,"url":"\/distributions\/14293\/click?bit=1&hash=05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","hash":"05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","title":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0438 \u043a\u043e\u043f\u0435\u0439\u043a\u0438","buttonText":"","imageUuid":""}

Пару слов о встроенном чате

Что такое чат и с чем его едят?

Это один из каналов связи по сети наряду с электронной почтой и звонками и основа всех социальных сетей и мессенджеров. Но не только.

Архитектура чата на примере

Все чаты работают по похожему принципу. Разберем подробнее архитектуру чата на примере плагина ImbaChat.

Основа работы чата - это обмен данными между браузером и сервером, при отправке и получении сообщений, через постоянное соединение. Это соединение обеспечивается технологией WebSocket (Протокол WebSocket ). WebSocket особенно хорош для сервисов, которые нуждаются в постоянном обмене данными, например онлайн игры, торговые площадки, работающие в реальном времени.

Через эти протоколы все пользователи подключаются к комет серверу CppComet. Он написан на C++ и является многопоточным, поэтому может выдержать большую нагрузку в несколько десятков тысяч соединений.

CppComet предоставляет API для отправки сообщений из бекенда чата во фронтенд через вебсокеты, то есть описание процесса отправки. Вообще, API (Application programming interface) – это набор функций, описывающих условия взаимодействия двух программ или двух сайтов.

Бекенд чата написан на PHP и оформлен как плагин к October CMS. Эта платформа предоставляет удобную панель администратора, функции для работы с файлами сайта и много других дополнительных плагинов, которые могут оказаться полезны. Кроме этого, October CMS является достаточно гибкой и быстрой системой, которая основана на Laravel. Это не замедляет работу кода по сравнению с тем, если бы код писался без использования CMS. Также October CMS дает механизм для кэширования на выбор: Redis, Memcached или кэш в файлах.

Фронтенд чата написан на JavaScript с использованием Jquery. Для управления базой данных используется MySQL или MariaDB.

На нагрузку чата значительно будет влиять поведение пользователей, то как часто они отправляют сообщения и переключаются между диалогами. Если пользователь находится онлайн, но ничего не делает, то он только слегка нагружает сервер. При совершении активных действий, отправки сообщений, запросы должны обрабатываться сервером и сообщения сохранятьтся в БД.

Есть еще один отличный механизм, встроенный в чат - кэширование переписки в интерфейсе Indexed Database API . Это база данных, которую можно использовать внутри любого браузера для хранения большого количества данных. При переключении диалогов пользователь получает результат из локального кэша его браузера мгновенно. Затем в фоновом режиме отправляется запрос с сервера для проверки наличия сообщений, не попавших в кэш. Такой механизм позволяет чату работать даже при отсутствии подключения к интернету. Данные переписки будут просто доставаться из кэша. А если пользователь напишет сообщение, то оно отправится в кэш браузера и будет передано на сервер в фоновом режиме, при возобновлении работы сети.

В итоге, благодаря кэшированию всех сообщений и диалогов в indexddb пользователь почти всегда получает ответ мгновенно еще до обработки его сервером. И, если он перегружен, то сообщение может отправляться чуть дольше. Но сам чат все еще будет работать.

Если чат работает на Cordova приложении, то в кеш попадают ещё и файлы в сообщениях (изображения, аудио и др.) и приложение работает как стандартный мессенджер.

Применение чата

Разберем то, как можно использовать чат на сайте. К примеру возьмем чат медицинской консультации. Взаимодействие пользователей через чат может значительно оптимизировать работу этого сервиса. При наличии хорошей базы специалистов и подключения их к чату, открывается масса возможностей для проведения эффективного лечения и консультирования:

  • Привлечение пациентов возможностью получить консультацию здесь и сейчас при чрезвычайных обстоятельствах либо при отсутствии необходимости присутствия в кабинете врача.
  • Привлечение медицинских специалистов дополнительным доходом при монетизации онлайн консультаций
  • Удобный обмен медицинских справок, документов и карт больного с помощью функции обмена файлов
  • Создание фокус-групп пациентов с похожими заболеваниями. Например, чат людей, страдающих диабетом. Специалисты могут выкладывать рекомендации, писать заметки в каждую из таких групп, а пациенты поддерживать друг друга.

В качестве еще одного примера удачного применения можно привести чат на сайте с онлайн курсами. Дистанционные уроки, актуальные сегодня, невозможно проводить без постоянного взаимодействия ученика и преподавателя. Следует отметить, что вовлечённость в учебный процесс через чат довольно хорошая, что можно объяснить активным участием и наличием социального примера в виде других учеников. Благодаря встроенному виджету чата, пользователь всегда будет иметь под рукой диалоги со своими преподавателями или сокурсниками.

Создание онлайн-сообществ с чатом

Всем известны онлайн-консультанты. Изрядно поднадоевшие всплывающие окна «чем я могу вам помочь» встречаются часто. Какой эффект окажет такой чат на пользователей – раздражение или желание спросить, зависит от того, как хорошо чат настроен. Заброшенные чат-боты вызывают больше всего раздражения, когда бездушный бот назойливо хочет помочь, появляется только одно желание – побыстрее уйти с сайта.

Чат на сайте может выступать не только в роли онлайн-консультанта. Чат - это неотъемлемая часть любого веб-сообщества. Будь то тематический форум, образовательная площадка, фан-группа. На любом сайте, где важно объединить людей, это незаменимая вещь. Чат представляет собой площадку для непосредственного общения участников веб-сообщества. Человек – существо социальное, это известно всем. Даже в полном винегрете сообщений, пользователь будет чувствовать общность, единение со всеми этими людьми по ту сторону экрана.

А если взять к примеру какое-нибудь тематическое онлайн сообщество? Люди пришли на такой сайт не просто так, а с целью разобраться в своих проблемах, выразить мнение по теме или поделится идеей. На таких сайтах обычно людей объединяют похожие интересы. Чат поможет структурировать тематику сайта в головах у каждого отдельного пользователя. Он видит то, какие люди на этом сайте на самом деле, находит общий язык с другими такими же пользователями. Это укрепляет социальные связи на сайте. А это на психологическом уровне заставляет пользователя вернутся снова и снова. А как не вернутся? Ведь там столько единомышленников. И тут уже основное – насколько тематика вашего онлайн-сообщества востребована в принципе. Хотя сколько людей, столько и интересов. На любую тему найдутся свою любители.

Хороший UX дизайн сайта + четкая структура + качественный контент (сюда входят реально интересные и уникальные статьи, если у вас узконаправленная тематика, не скупитесь и наймите специалиста в данной области на подработку копирайтером) + возможность создания внутренней сети знакомств и контактов. И мы получим вовлеченное сообщество онлайн-единомышленников.

Как встроить плагин на сайт так, чтобы он приносил пользу? Это зависит от конкретного сайта. И если правильно проанализировать примерное поведение пользователей в чате и на основе этого принять решение о его установке (или не установке), то это как минимум даст более четкое понимание потребностей аудитории сайта, а как максимум, сплотит пользователей, улучшит юзабилити и конверсию. Чат совсем несложно установить. Существует множество бесплатных плагинов чата без ограничений по времени, в том числе этот. Эффективно использовать его можно практически на любом сайте. Главное - определиться с целью.

0
Комментарии
-3 комментариев
Раскрывать всегда