• /
  • /

Разработка универсального чата поддержки для мобильных приложений

Клиент

Федеральный центр коммуникаций и провайдер аутсорсинга клиентского сервиса. Компания развивает собственные ИТ-продукты для автоматизации клиентского сервиса.

Задача

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

Ранее для этой задачи использовалась веб-версия чата, которая открывалась внутри каждого мобильного приложения. Такой вариант не всегда обеспечивал нужную производительность, пользовательский опыт и возможности интеграции.

Нужно было создать полноценное нативное решение для iOS и Android, которое можно один раз разработать, а затем подключать к разным приложениям и адаптировать под их интерфейс.

Решение

Разработали универсальный нативный чат поддержки для iOS и Android в формате SDK, который можно встраивать в разные мобильные приложения как готовый компонент.

SDK (Software Development Kit) — готовый набор программных компонентов и инструментов, который разработчик подключает к своему приложению, чтобы добавить нужную функцию без разработки с нуля. В нашем случае такой готовой функцией стал чат поддержки.

Разработчику достаточно подключить SDK к приложению и настроить внешний вид.

Возможности чата:

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

Гибкая настройка внешнего вида

Главная особенность решения — один и тот же чат можно использовать в приложениях разных пользователей, не создавая отдельную версию для каждого.

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

В результате чат может выглядеть органичной частью совершенно разных продуктов — например, приложения банка, интернет-магазина или сервиса.
Внешний вид универсального чата поддержки для мобильных приложений

Работа при нестабильном интернете

Для мобильного чата предусмотрена работа при временной потере соединения.

Последние сообщения хранятся локально, при ошибке отправки предусмотрена повторная попытка, а после восстановления сети соединение устанавливается автоматически.

Безопасность

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

Результат

За 3 месяца разработали готовый SDK для iOS и Android, который можно использовать в разных мобильных приложениях. При разработке мобильных приложений чат можно подключать как готовый компонент, не создавая его заново для каждого проекта.

Для клиента это означает:

  • одну кодовую базу вместо отдельных реализаций;
  • возможность подключать чат к новым проектам;
  • настройку интерфейса под конкретное приложение;
  • сокращение объема разработки при подключении новых клиентов.

Пользователь получает чат поддержки непосредственно внутри приложения, без перехода в сторонние сервисы.