Разработка универсального чата поддержки для мобильных приложений
Разработка универсального чата поддержки для мобильных приложений
Разработали нативный чат поддержки для iOS и Android в формате SDK. Его можно подключать к разным мобильным приложениям и адаптировать под интерфейс конкретного продукта. Один компонент заменяет отдельную разработку чата для каждого приложения и позволяет развивать решение на общей кодовой базе.
Федеральный центр коммуникаций и провайдер аутсорсинга клиентского сервиса. Компания развивает собственные ИТ-продукты для автоматизации клиентского сервиса.
Задача
Клиенту требовался чат поддержки, который можно использовать внутри мобильных приложений. Приложения отличаются дизайном, интерфейсом и требованиями к интеграции, поэтому отдельная разработка и поддержка чата для каждого проекта увеличивали сроки и затраты.
Ранее для этой задачи использовалась веб-версия чата, которая открывалась внутри каждого мобильного приложения. Такой вариант не всегда обеспечивал нужную производительность, пользовательский опыт и возможности интеграции.
Нужно было создать полноценное нативное решение для iOS и Android, которое можно один раз разработать, а затем подключать к разным приложениям и адаптировать под их интерфейс.
Решение
Разработали универсальный нативный чат поддержки для iOS и Android в формате SDK, который можно встраивать в разные мобильные приложения как готовый компонент.
SDK (Software Development Kit) — готовый набор программных компонентов и инструментов, который разработчик подключает к своему приложению, чтобы добавить нужную функцию без разработки с нуля. В нашем случае такой готовой функцией стал чат поддержки.
Разработчику достаточно подключить SDK к приложению и настроить внешний вид.
Возможности чата:
отправка и получение текстовых сообщений в реальном времени;
история переписки с подгрузкой предыдущих сообщений;
отправка фотографий, видео и документов, включая сжатие файлов;
локальное хранение последних сообщений и повторную отправку при ошибке;
уведомление пользователя о новых сообщениях с помощью звука и вибрации;
работу с пользовательской сессией и опциональную форму регистрации;
отображение количества непрочитанных сообщений;
автоматическое восстановление соединения после потери сети.
Гибкая настройка внешнего вида
Главная особенность решения — один и тот же чат можно использовать в приложениях разных пользователей, не создавая отдельную версию для каждого.
При интеграции разработчик настраивает цвета, фон, оформление сообщений пользователя и оператора, поле ввода, кнопку отправки, отступы, скругления и другие элементы интерфейса. Параметры передаются при подключении, поэтому для каждого приложения не требуется создавать отдельную версию чата.
В результате чат может выглядеть органичной частью совершенно разных продуктов — например, приложения банка, интернет-магазина или сервиса.
Работа при нестабильном интернете
Для мобильного чата предусмотрена работа при временной потере соединения.
Последние сообщения хранятся локально, при ошибке отправки предусмотрена повторная попытка, а после восстановления сети соединение устанавливается автоматически.
Безопасность
Передача данных защищена с помощью TLS, для сообщений предусмотрено сквозное шифрование. Ключи и токены хранятся в защищенных системных хранилищах, а не в открытом виде внутри приложения.
Результат
За 3 месяца разработали готовый SDK для iOS и Android, который можно использовать в разных мобильных приложениях. При разработке мобильных приложений чат можно подключать как готовый компонент, не создавая его заново для каждого проекта.
Для клиента это означает:
одну кодовую базу вместо отдельных реализаций;
возможность подключать чат к новым проектам;
настройку интерфейса под конкретное приложение;
сокращение объема разработки при подключении новых клиентов.
Пользователь получает чат поддержки непосредственно внутри приложения, без перехода в сторонние сервисы.