Информация о выпусках (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; без явного
setVisitorDataPreferencesSDK создаёт зашифрованные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).
Дополнительные сигнатуры и пояснения — в справочнике и интеграции.