Skip to content

Информация о выпусках (Release notes) Webim Mobile SDK v4.0 для iOS

Ниже представлен список выпусков Webim Mobile SDK 4 для iOS.

Совместимость с Webim Server

Webim Mobile SDK 4.0 рассчитан на работу с Webim Server не ниже 10.5.30. Ряд возможностей (конфигурация форм контактов, подписи полей посетителя, «облегчённый» режим с подсчётом непрочитанных без полноценной сессии чата, расширенные ресурсы локализации и т.д.) опирается на API и настройки ветки 10.8 и новее — ориентируйтесь на Webim Server 10.8+, если используете эти функции.

4.0.0

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

  • Производительность и API. Повышена производительность библиотеки. Удалены константы в формате SCREAMING_SNAKE_CASE. Удалён метод closeChat() — сценарии закрытия чата следует реализовывать через актуальные методы потока сообщений и состояние чата.

  • Форма контактных данных (pre-chat). Данные формы можно передавать при создании сессии (SessionBuilder.set(prechat:)) и досылать из потока (MessageStream.set(prechatFields:)). Структура полей и правила отображения согласуются с настройками размещения на сервере; через MessageStream.getServerSideSettings(completionHandler:) доступны объекты ServerSettings / ChatConfig / ContactsSettings.

  • Прогресс загрузки и скачивания файлов. Для вложений доступен ход передачи в процентах: MessageAttachment.getDownloadProgress() (в том числе для исходящих загрузок прогресс отражается в обновлениях вложения). При отправке файлов используется механизм уведомления сервера о прогрессе (SendFileProgressState и связанные действия).

  • Конфигурация и типы настроек сервера. Расширена модель серверных настроек: ServerSettings включает AccountConfig, ChatConfig, ResourcesConfig и др. Это упрощает чтение лимитов, текстов интерфейса и параметров форм из одного ответа.

  • Кастомные модули и интеграции. Для передачи в запросах к серверу дополнительных параметров (например, идентификаторов сценария или модуля на стороне вашей инфраструктуры) используется SessionBuilder.set(requestHeader:). Требования к заголовкам задаются при использовании соответствующих возможностей Webim Server.

  • Ошибки при старте и инициализации. Ошибки инициализации сессии приводят к типу FatalErrorType.initializationFailed в FatalErrorHandler. Для нефатальных сетевых сценариев по-прежнему используется NotFatalErrorHandler. Опционально можно подключить WebimAlert для стандартизированных уведомлений об ошибках.

  • Опрос после консультации (resolution survey). Доработан сценарий опроса качества после диалога («Ромео и Джульетта»): методы sendResolutionSurvey, getLastResolutionSurveyWith(operatorId:) и связанные протоколы согласованы с сервером 10.8.

  • Тестовый и «облегчённый» режим. Включение SessionBuilder.set(isLightModeEnabled: true) переводит клиент в режим без полного цикла action/delta-лупов, удобный для отладки и сценариев с ограниченным трафиком. В сочетании с InfoListener можно получать число непрочитанных сообщений без полноценного чата (см. ниже). Параметры set(isVisitorDataClearingEnabled:), set(isLocalHistoryStoragingEnabled:) по-прежнему предназначены для отладки.

  • Непрочитанные без активной сессии чата. В режиме с InfoListener SDK опрашивает сервер и вызывает update(newMessageCount:) с количеством непрочитанных сообщений посетителя — без необходимости создавать полноценную сессию чата (требуется поддержка со стороны Webim Server).

  • Имена пользовательских полей посетителя. Метод ChatConfig.getVisitorFieldLabels() возвращает соответствие идентификаторов полей и локализованных подписей, заданных в настройках аккаунта.

  • Локализация интерфейса. Строки интерфейса, доступные через ResourcesConfig (например, тексты прощания, первого вопроса, заголовка оператора и т.д.), дополняют локализацию на стороне приложения и позволяют выровнять подписи с языковыми настройками сервера при поддержке всех доступных для Webim языков.

  • Быстрая кастомизация. Наряду с set(requestHeader:) для сетевого уровня приложение может задавать set(pageTitle:), set(appVersion:), подключать WebimLogger / WebimAlert и считывать темы оформления из ServerSettings, сокращая объём ручной настройки в коде.


Последнее обновление страницы: 2 апреля 2026 г.