Перейти к содержанию

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

Ниже представлен список выпусков Webim Mobile SDK 4.0 для Android. Артефакт на Maven Central: ru.webim.sdk:webimclientsdkandroid:4.0.0 (для патчей линии 4.0 используйте 4.0.+).

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

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

4.0.0

Общая линия релиза — поддержка облегчённого режима сессии и запроса счётчиков непрочитанных через отдельный HTTP endpoint (задача WMANDROIDSDK-794 на стороне SDK и соответствующие изменения на Webim Server), а также расширение настройки сетевого уровня и push-систем.

  • Облегчённый режим (light mode). Метод SessionBuilder.setLightModeEnabled(true) переводит клиент в режим без полного цикла приёма дельт long poll: после успешной авторизации delta-луп завершается, poller-луп не используется. Подходит для сценариев с ограниченным трафиком и отладки. В сочетании с MessageStream.getInfo можно получать актуальные счётчики без постоянного соединения в режиме полного чата (при поддержке сервера).

  • Endpoint счётчиков (getInfo). Добавлен запрос к HTTP API сводной информации (по умолчанию путь l/v/m/info; на Webim Server 10.8+ URL может указываться в ответе meta). Ответ GetInfoResponse содержит unreadMessagesCount и historyLastChangeTs. Периодичность опроса задаётся на стороне приложения.

  • Заголовки запросов. Метод SessionBuilder.setRequestHeader(Map<String, String>) задаёт дополнительные HTTP-заголовки при создании сессии; для уже созданной сессии используйте WebimSession.setRequestHeaders. Требования согласовываются с конфигурацией Webim Server.

  • Push: FCM и Huawei Push Kit. В перечислении PushSystem остались NONE, FCM и HPK. Разбор уведомлений — parseFcmPushNotification(String) и перегрузка с visitorId. API GCM (parseGcmPushNotification, getGcmSenderId, setGCMSenderId, значение PushSystem.GCM) в 4.0 нет.

  • Резервные домены. SessionBuilder.setExtraDomains позволяет задать запасные хосты. Значение по умолчанию в SDK 4.0.0: webim2.ru, webim.chat.

  • Логирование по областям. SessionBuilder.setLoggerEntities ограничивает вывод значениями WebimLogEntity (SERVER, MESSAGES, SURVEYS, DATABASE). Области необходимо передать явно; без вызова метода набор областей пуст.

  • Принудительный старт чата. Методы forceStartChat() и forceStartChatWithDepartmentKey(String) интерфейса MessageStream переводят чат в состояние очереди независимо от обычной логики отложенного старта.

  • Локальное хранение. История сообщений пишется в SQLCipher; без явного setVisitorDataPreferences SDK создаёт зашифрованные SharedPreferences. Ошибки шифрования отражаются как FatalErrorType.GENERAL_SECURITY_ERROR; проблемы HTTPS — как FatalErrorType.SSL_ERROR.

  • Прочее. Наследуются исправления и доработки линии Mobile SDK 3.x последних выпусков. Минимальный API Android — 21. При миграции укажите ru.webim.sdk:webimclientsdkandroid:4.0.+ и sdkVersionName=4.0.0 (или фактический патч 4.0.x).

Дополнительные сигнатуры и пояснения — в справочнике и интеграции.