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

Дополнительные возможности Webim Mobile SDK v3 для Android

В данной статье приведены недоступные по умолчанию возможности Webim Mobile SDK для Android. Для их подключения обратитесь в службу технической поддержки

N.B.

Эта статья является дополнением основного справочника по Webim Mobile SDK для Android.

Класс Webim

метод класса newFAQBuilder()

Метод, необходимый для получения объекта FAQBuilder, который в свою очередь необходим для создания экземпляра класса FAQ.

Не принимает параметры.

Возвращает экземпляр класса FAQBuilder, необходимый для работы с блоком часто задаваемых вопросов.

Не выбрасывает исключения.

Не требует предварительного вызова других методов.

класс FAQBuilder

Класс, экземпляр которого используется для получения экземпляра класса FAQ. Экземпляр класса получается методом newFAQBuilder() класса Webim.

метод экземпляра setAccountName(String accountName)

Метод необходим для задания названия аккаунта в системе Webim при создании блока часто задаваемых вопросов.

Параметр accountName — название аккаунта клиента в системе Webim. Обычно представляет из себя URL-сервера (например, https://demo.webim.ru), но может иметь и вид названия аккаунта одним словом (например, «demo»), если сервер находится в домене webim.ru. Тип параметра — String.

Возвращает тот же экземпляр класса FAQBuilder, но с установленным названием аккаунта.

Не выбрасывает исключения.

Требует предварительно полученного экземпляра класса FAQBuilder. Для получения экземпляра класса FAQ вызов метода является обязательным.

метод экземпляра build()

Метод, который вызывается в заключение перечисленных выше методов для получения экземпляра FAQ.

Не принимает параметры.

Возвращает объект FAQ с установленными параметрами с помощью остальных методов экземпляра класса.

Выбрасывает IllegalArgumentException, если не было установлено название аккаунта (см. метод setAccountName(String accountName)),

Требует предварительно полученного экземпляра класса FAQBuilder, а также последующего вызова методов setAccountName(String accountName).


интерфейс FAQ

Интерфейс, позволяющий производить манипуляции с блоком часто задаваемых вопросов. Реализуется внутренними сущностями SDK.

Экземпляр класса FAQ получается с помощью методов класса FAQBuilder.

метод экземпляра resume()

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

Не принимает параметры.

Ничего не возвращает.

Выбрасывает IllegalStateException, если объект блока часто задаваемых вопросов был деактивирован (см. метод destroy()).

Выбрасывает RuntimeException, если метод был вызван из потока, отличного от того, в котором был создан объект класса.

Не требует предварительного вызова никаких других методов. Необходим для полноценного функционирования сервиса в контексте приложения.

Скорость выполнения метода зависит от скорости получения ответа сервера.

метод экземпляра pause()

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

Не принимает параметры.

Ничего не возвращает.

Выбрасывает RuntimeException, если метод был вызван из потока, отличного от того, в котором был создан объект класса.

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

метод экземпляра destroy()

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

Не принимает параметры.

Ничего не возвращает.

Выбрасывает RuntimeException, если метод был вызван из потока, отличного от того, в котором был создан объект класса.

Не требует предварительного вызова никаких других методов.

метод экземпляра getStructure(int rootId, getStructureCallback callback)

Метод, который используется для получения объекта класса FAQStructure через GetStructureCallback. Если запрос завершился с ошибкой, то полученная структура будет равна null.

Параметр rootId — ID вершины, которая будет корнем дерева (структуры) блока часто задаваемых вопросов. Тип — Int.

Параметр callback — объект, реализующий интерфейс GetStructureCallback.

Ничего не возвращает.

Выбрасывает RuntimeException, если метод был вызван из потока, отличного от того, в котором был создан объект класса.

Не требует предварительного вызова никаких других методов.

метод экземпляра getCategory(int id, getCategoryCallback callback)

Метод, который используется для получения объекта класса FAQCategory через GetCategoryCallback. Если запрос завершился с ошибкой, то полученная категория будет равна null.

Параметр ID — ID категории блока часто задаваемых вопросов. Тип — Int.

Параметр callback — объект, реализующий интерфейс GetCategoryCallback.

Ничего не возвращает.

Выбрасывает RuntimeException, если метод был вызван из потока, отличного от того, в котором был создан объект класса.

Не требует предварительного вызова никаких других методов.

метод экземпляра getItem(String id, getItemCallback callback)

Метод, который используется для получения объекта класса FAQItem через GetItemCallback. Если запрос завершился с ошибкой, то полученная страница будет равна null.

Параметр ID — ID страницы блока часто задаваемых вопросов. Тип — String.

Параметр callback — объект, реализующий интерфейс GetItemCallback.

Ничего не возвращает.

Выбрасывает RuntimeException, если метод был вызван из потока, отличного от того, в котором был создан объект класса.

Не требует предварительного вызова никаких других методов.


интерфейс FAQCategory

Представление категории блока часто задаваемых вопросов. Предоставляет методы получения информации о категории.

Объекты FAQCategory могут быть получены с помощью класса, реализующего интерфейс GetCategoryCallback.

метод getId()

Не принимает параметров.

Возвращает идентификатор категории. Тип — Int.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getTitle()

Не принимает параметров.

Возвращает заголовок категории. Тип — String.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getItems()

Категория содержит страницы блока часто задаваемых вопросов.

Не принимает параметров.

Возвращает страницы, принадлежащих категории. Тип — List<FAQItem>.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getSubcategories()

Категория содержит подкатегории. Для удобства данный метод возвращает информацию о подкатегориях без её страниц и подкатегорий.

Не принимает параметров.

Возвращает информацию о подкатегориях, принадлежащих категории. Тип — List<FAQCategoryInfo>.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.


интерфейс FAQCategoryInfo

Представление информации о категории блока часто задаваемых вопросов. Предоставляет методы получения идентификатора и заголовка категории.

Объекты FAQCategoryInfo могут быть получены с помощью метода getSubcategories().

метод getId()

Не принимает параметров.

Возвращает идентификатор категории. Тип — Int.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getTitle()

Не принимает параметров.

Возвращает заголовок категории. Тип — String.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.


интерфейс FAQItem

Представление страницы блока часто задаваемых вопросов. Предоставляет методы получения информации о странице.

Объекты FAQItem могут быть получены с помощью класса, реализующего интерфейс GetItemCallback.

метод getId()

Не принимает параметров.

Возвращает идентификатор страницы. Тип — String.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getTitle()

Не принимает параметров.

Возвращает заголовок страницы. Тип — String.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getCategories()

Страница может принадлежать нескольким категориям.

Не принимает параметров.

Возвращает идентификаторы категорий, которым принадлежит страница. Тип — List.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getTags()

У страницы есть набор тэгов.

Не принимает параметров.

Возвращает список тэгов, которыми отмечена страница. Тип — List.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getContent()

Не принимает параметров.

Возвращает содержание страницы. Тип — String.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getLikeCount()

Страница содержит количество отметок «Нравится».

Не принимает параметров.

Возвращает количество отметок «Нравится» страницы. Тип — Int.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getDislikeCount()

Страница содержит количество отметок «Не нравится».

Не принимает параметров.

Возвращает количество отметок «Не нравится» страницы. Тип — Int.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.


интерфейс FAQStructure

Представление дерева (структуры) блока часто задаваемых вопросов. Предоставляет методы получения информации о дереве блока часто задаваемых вопросов.

Объекты FAQStructure могут быть получены с помощью класса, реализующего интерфейс GetStructureCallback.

метод getId()

У дерева есть корневой элемент.

Не принимает параметров.

Возвращает идентификатор корневого элемента дерева. Тип — String.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getTitle()

Не принимает параметров.

Возвращает заголовок корня. Тип — String.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getType()

Корень дерева может быть категорией или страницей.

Не принимает параметров.

Возвращает тип корневого элемента. Тип — FAQType.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.

метод getChildren()

Не принимает параметров.

Возвращает поддеревья, корнями которых являются прямые потомки корня дерева (структуры). Тип — List<FAQStructure>.

Не выбрасывает исключений.

Не требует предварительного вызова никаких других методов.


перечисляемый тип FAQType

Возможные типы корня дерева блока часто задаваемых вопросов (см. метод getType() интерфейса FAQStructure).

случай ITEM

Корень дерева является страницей.

случай CATEGORY

Корень дерева является категорией.

случай UNKNOWN

Корень дерева имеет неизвестный тип для данной версии SDK.


Перечисляемый тип UserRate

Страница может быть отмечена пользователем.

Случай like

Пользователю понравилась страница.

Случай dislike

Пользователю не понравилась страница.

Случай noRate

Страница не оценена пользователем.


Перечисляемый тип FAQAccessError

Значение типа соответствуют ошибкам, которые могут выбрасываться некоторыми методами протоколов FAQ.

Случай invalidThread

Возникает, когда метод был вызван не из потока, в котором был создан экземпляр блока часто задаваемых вопросов.

Случай invalidFaq

Возникает при попытке использования методов недействительного экземпляра FAQ (например, после того, как на нем был вызван метод destroy()).


Перечисляемый тип FAQBuilderError

Значение типа соответствуют возможным ошибкам, которые могут возникнуть при вызове метода build() класса FAQBuilder.

Случай nilAccountName

Возникает, когда при создании блока часто задаваемых вопросов не было передано значение названия аккаунта.


Перечисляемый тип FAQGetCallbackError

Возможные ошибки, которые могут выбрасывать методы протокола FAQ.

Случай ERROR

Возникшая ошибка.


Перечисляемый тип FAQItemSource

Возможный источник статьи. Статья может быть взята из поиска или из структуры или категории.

Статью запрашивают из поиска.

Случай tree

Статью запрашивают из структуры или категории.


интерфейс GetStructureCallback

Интерфейс, методы которого реализуются каким-либо классом приложения.

Объект, подчиняющийся интерфейсу, может быть передан в параметре callback метода getStructure(int rootId, getStructureCallback callback) интерфейса FAQ.

метод receive(FAQStructure structure)

Метод вызывается при получении дерева (структуру) категорий блока часто задаваемых вопросов методом getStructure(int rootId, getStructureCallback callback) интерфейса FAQ.

Параметр structure — дерево (структура) категорий блока часто задаваемых вопросов. Тип — FAQStructure.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

Метод будет вызван после завершения работы метода getStructure(int rootId, getStructureCallback callback).


интерфейс GetCategoryCallback

Интерфейс, методы которого реализуются каким-либо классом приложения.

Объект, подчиняющийся интерфейсу, может быть передан в параметре callback метода getCategory(int id, getCategoryCallback callback) интерфейса FAQ.

метод receive(FAQCategory category)

Метод вызывается при получении категории блока часто задаваемых вопросов методом getCategory(int id, getCategoryCallback callback) интерфейса FAQ.

Параметр category — категория блока часто задаваемых вопросов. Тип — FAQCategory.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

Метод будет вызван после завершения работы метода getCategory(int id, getCategoryCallback callback).


интерфейс GetItemCallback

Интерфейс, методы которого реализуются каким-либо классом приложения.

Объект, подчиняющийся интерфейсу, может быть передан в параметре callback метода getItem(String id, getItemCallback callback) интерфейса FAQ.

метод receive(FAQItem item)

Метод вызывается при получении страницы блока часто задаваемых вопросов методом getItem(String id, getItemCallback callback) интерфейса FAQ.

Параметр item — страница блока часто задаваемых вопросов. Тип — FAQItem.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

Метод будет вызван после завершения работы метода getItem(String id, getItemCallback callback).


Перечисляемый тип RootType

Возможные типы корня дерева блока часто задаваемых вопросов (см. метод getType() протокола FAQStructure).

Случай item

Корень дерева является страницей.

Случай category

Корень дерева является категорией.

случай unknown

Корень дерева имеет неизвестный тип для данной версии SDK.


Класс SessionBuilder

метод экземпляра setPrechatFields(String prechatFields)

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

Параметр prechatFields — поля с дополнительной информацией в формате JSON. Тип параметра — String.

Возвращает тот же экземпляр класса SessionBuilder, но с установленными полями.

Не выбрасывает исключения.

Требует предварительно полученного экземпляра класса SessionBuilder. Для получения экземпляра класса WebimSession вызов метода не является обязательным.

Метод setMultivistorSection(String multivisitorSection)

Метод, с помощью которого можно установить настройки для получения push-уведомлений от сервиса Webim при запуске нескольких сессий на одном устройстве.

Тип параметра multivisitorSectionString.

Возвращает тот же экземпляр класса SessionBuilder, но с установленным полем.

Для получения экземпляра класса WebimSession вызов метода не является обязательным.

Метод setOnlineStatusRequestFrequencyInMillis(long requestFrequency)

Метод, с помощью которого можно указать частоту запросов к серверу в миллисекундах.

Параметр requestFrequencylong.

Возвращает тот же экземпляр класса SessionBuilder, но с установленным вручную значением соответствующей опции.


Протокол WebimSession

Метод changeLocation(String location)

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

Параметр location — название локации, на которое необходимо сменить текущее значение сессии. Тип — String.

Может выбрасывать ошибки типа AccessError.

Для вызова метода сессия не должна находиться с приостановленном или деактивированном состоянии (см. методы resume()pause() и destroy()).


Интерефейс Message

Метод getSticker()

Возвращает объект типа Sticker.

Не выбрасывает исключений.

Метод canVisitorReact()

Метод возвращает true в случае, если посетитель может отреагировать на сообщение, в противном случае - false.

Не выбрасывает исключений.

Метод canVisitorChangeReaction()

Метод возвращает true, ели посетитель может сменить оставленную на сообщение реакцию, в противном случае - false.

Не выбрасывает исключений.

Метод getReaction()

Метод возвращает реакцию посетителя на сообщения. Возвращаемый тип - MessageReaction.


Интерфейс Sticker

Метод getStickerId

Возвращает id стикера типа int.


Перечисляемый тип MessageReaction

Случай LIKE

Посетителю понравилось сообщение оператора.

Случай DISLIKE

Посетителю не понравилось сообщение оператора.

Перечисляемый тип AttachmentState

Случай externalChecks

Файл проверяется сервером.


Интерфейс MessageStream

Метод rateOperator(int id, String note, int rate, RateOperatorCallback rateOperatorCallback)

С помощью этого метода можно отправить оценку оператора текущего посетителя с комментарием.

Параметр id — ID оператора, оценку которого необходимо отправить сервису Webim. Тип — String.

Параметр note — комментарий к оценке оператора, который необходимо отправить сервису Webim. Максимальная длина 2000 символов. Тип — опциональный String.

Параметр byRating— оценка оператора, которую необходимо отправить сервису Webim. Оценка должна быть целым числом от 1 до 5 (при указании иного, метод не произведет никаких действий). Тип — Int.

Параметр completionHandler — объект RateOperatorCallback.

Может выбрасывать ошибки типа AccessError.

Внимание!

Реализация механизма оценки оператора в чате остаётся за разработчиками мобильного приложения!

Метод respondSentryCall(String id)

С помощью этого метода можно перевести чат на дежурного оператора.

Параметр id — ID сообщения о переводе на дежурного оператора. Тип — String.

Может выбрасывать ошибки типа AccessError.

Метод searchMessages(String query, SearchMessagesCallback callback)

Метод используется поиска сообщения в истории по запросу.

Может выбрасывать ошибки типа AccessError.

Параметр query — запрос для поиска. Тип — String.

Параметр callback — объект, реализующий методы протокола SearchMessagesCallback. Тип — SearchMessagesCallback.

Метод setPrechatFields(String prechatFields)

Отправляет дополнительные поля на сервер.

Может выбрасывать ошибки типа AccessError.

Параметр prechatFields — дополнительные поля. Тип — String.

Метод setSurveyListener(SurveyListener surveyListener)

С помощью этого метода можно установить объект SurveyListener.

Параметр surveyListener — объект, реализующий интерфейс SurveyListener.

Метод setGreetingMessageListener(GreetingMessageListener listener)

С помощью этого метода можно установить приветственное сообщение.

Параметр listener — объект, реализующий интерфейс GreetingMessageListener.

Метод send(String message, String data, DataMessageCallback dataMessageCallback)

Метод используется для отправки сообщения посетителя в сервис Webim.

Параметр message — отправляемое сообщение. Тип — String.

Максимальная длина сообщения — 32000 символов. Более длинные сообщения будут обрезаны сервером при их получении.

Параметр data используется для передачи произвольного словаря с параметрами сообщения на сервер (если версия сервера поддерживает данный функционал). Ключи словаря должны быть типа String, значения — любого «стандартного» типа.

Параметр dataMessageCallback — объект DataMessageCallback либо null.

Возвращает ID, сгенерированный случайным образом для данного сообщения, который может быть использован для идентификации данного конкретного сообщения внутри логики приложения. Тип — String.

Может выбрасывать ошибки типа AccessError.

Если существуют объекты MessageTracker и MessageListener, отправка сообщения вызовет метод added(newMessage, previousMessage) протокола MessageListener с новым сообщением со статусом SENDING перечислимого типа MessageSendStatus.

Метод sendFiles(List<UploadedFile> uploadedFiles, SendFilesCallback sendFilesCallback)

Метод, с помощью которого можно отправить отправить файлы на сервер Webim. Тип — UploadedFile.

Параметр uploadedFiles — список файлов которые необходимо отправить.

Параметр sendFilesCallback — объект, реализующий методы интерфейса SendFilesCallback. Тип — SendFilesCallback.

Метод send(String surveyAnswer, SurveyAnswerCallback callback)

С помощью этого метода можно отправить ответ на текущий вопрос, полученный с помощью метода SurveyListener.on(nextQuestion, SurveyQuestion).

Параметр surveyAnswer — ответ, для вопроса типа 'stars' — ответом будет являться целое число от 1 до 5, определяющее оценку оператора. Для вопроса типа 'radio' ответ — это индекс элемента в массиве options, начиная с 1. Для вопроса типа 'comment' ответ — это строчка, представляющая комментарий пользователя. Тип — String.

Может выбрасывать ошибки типа AccessError.

Параметр callback — объект, реализующий методы протокола SurveyAnswerCallback. Тип — SurveyAnswerCallback.

Метод uploadFilesToServer(File file, String name, String mimeType, UploadFileToServerCallback uploadFileToServerCallback)

Параметр file — сам файл в формате File.

Параметр name — название файла. Тип — String.

Параметр mimeType — MIMЕ-тип передаваемого файла. Тип — String.

Параметр uploadFileToServerCallback — объект, реализующий методы протокола UploadFileToServerCallback. Тип — UploadFileToServerCallback.

Метод deleteUploadedFiles(String fileGuid, DeleteUploadedFileCallback deleteUploadedFileCallback)

Метод, с помощью которого можно удалить файлы с сервера Webim.

Параметр fileGuid — id удаляемого файла. Тип — String.

Параметр deleteUploadedFileCallback — объект, реализующий методы протокола DeleteUploadedFileCallback. Тип — DeleteUploadedFileCallback.

Метод sendSticker(int stickerId, SendStickerCallback sendStickerCallback)

С помощью этого метода можно отправить стикер в чат.

Параметр stickerId — ID стикера, который необходимо отправить сервису Webim. Тип — int.

Параметр sendStickerCallback — объект, реализующий интерфейс SendStickerCallback. Тип — SendStickerCallback.

Метод reactMessage(Message message, MessageReaction reaction, MessageReactionCallback callback)

Метод используется для отправки реакции пользователя на сообщение.

Может выбрасывать ошибки типа AccessError.

Параметр message — сообщение для реакции. Тип — Message.

Параметр reaction — реакция пользователя. Тип — MessageReaction.

Параметр callback — объект, реализующий методы протокола MessageReactionCallback. Тип — MessageReactionCallback.

Метод updateWidgetStatus(String data)

Метод используется для обновления статуса виджета.

Может выбрасывать ошибки типа AccessError.

Параметр data — строка в формате JSONс новым статусом виджета. Тип — String.

Метод closeSurvey(SurveyCloseCallback callback)

С помощью данного метода можно закрыть опрос.

Может выбрасывать ошибки типа AccessError.

Параметр completionHandler — объект, реализующий методы протокола SurveyCloseCallback. Тип опциональный.

Метод clearChatHistory()

Метод вызывается, когда пользователь очищает историю.


Протокол Operator

Метод getInfo()

Метод позволяет получить дополнительную информацию о конкретном операторе.

Возвращает дополнительную информацию о конкретном операторе. Тип — опциональный String.


Протокол SendFilesCallback

Объект, подчиняющийся протоколу, может быть передан в параметре callback метода send(uploadedFiles, callback) протокола MessageStream.

Метод onSuccess(Message.Id messageId)

Метод вызывается при успешной отправке файлов методом send(uploadedFiles:completionHandler:) протокола MessageStream.

Параметр messageid — ID соответствующего сообщения. Тип — Message.Id.

Метод onFailure(Message.Id messageId, SendFileError sendFilesError)

Вызывается при неудачной отправке файлов методом send(uploadedFiles, callback) протокола MessageStream.

Параметр messageid — ID соответствующего сообщения. Тип — String.

Параметр sendFilesError — ошибка, воспрепятствовавшая успешной отправке файла. Тип — SendFilesError.


Перечисляемый тип SendFilesError

Возможные ошибки, которые могут быть переданы в параметр error метода onFailure(messageID, sendFilesError) протокола SendFilesCallback.

Случай CONNECTION_TIMEOUT

Превышено время ожидания соединения.

Случай FILE_NOT_FOUND

Файл не найден.

Случай FILE_TYPE_NOT_ALLOWED

Тип файла не разрешён.

Случай FILE_SIZE_EXCEEDED

Превышен разрешённый размер файла.

Случай FILE_SIZE_TOO_SMALL

Отправляемый файл имеет слишком маленький размер.

Случай MAX_FILES_COUNT_PER_CHAT_EXCEEDED

Максимальное число файлов для чата.

Случай MAX_FILES_COUNT_PER_MESSAGE

Максимальное число файлов для сообщения.

Случай UPLOADED_FILE_NOT_FOUND

Отправка файлов в теле запроса не поддерживается.

Случай FILE_NAME_INCORRECT

Некорректное имя файла.

Случай FILE_IS_EMPTY

Файл пуст.

Случай UNAUTHORIZED

Ошибка аутентификации посетителя на сервере.

Случай UNKNOWN

Неизвестная ошибка.


Протокол DeleteUploadedFileCallback

Объект, подчиняющийся протоколу, может быть передан в параметре callback метода deleteUploadedFiles(fileGuid, completionHandler) протокола MessageStream.

Метод onSuccess()

Метод вызывается при успешном удалении файла методом deleteUploadedFiles(fileGuid, callback) протокола MessageStream.

Метод onFailure(DeleteUploadedFileError error)

Вызывается при неудачном удалении файла методом deleteUploadedFiles(fileGuid, callback) протокола MessageStream.

Параметр error — ошибка, воспрепятствовавшая успешной отправке файла. Тип — DeleteUploadedFileError.


Перечисляемый тип DeleteUploadedFileError

Возможные ошибки, которые могут быть переданы в параметр error метода onFailure(error) протокола DeleteUploadedFileCallback.

Случай FILE_NOT_FOUND

Файл не найден.

Случай FILE_HAS_BEEN_SENT

Файл был отправлен.

Случай UNKNOWN

Неизвестная ошибка.


Протокол SendStickerCallback

Объект, подчиняющийся протоколу, может быть передан в параметре callback метода send(message, callback) протокола MessageStream.

Метод onSuccess()

Метод вызывается при успешной отправке стикера методом sendSticker(withId, callback) протокола MessageStream.

Метод onFailure(error:)

Вызывается при неудачной отправке стикера методом sendSticker(withId, callback) протокола MessageStream.

Параметр error — ошибка, воспрепятствовавшая успешной отправке файла. Тип — SendStickerError.


Перечисляемый тип SendStickerError

Возможные ошибки, которые могут быть переданы в параметр error метода onFailure(error:) протокола SendStickerCallback.

Случай NO_CHAT

Чат не найден.

Случай NO_STICKER_ID

ID стикера не установлен.


интерфейс Survey

метод getConfig()

С помощью этого метода можно получить конфигурацию опроса.

Не принимает параметры.

Возвращает экземпляр класса Config.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getCurrentQuestionInfo()

С помощью этого метода можно получить информацию о текущем вопросе.

Не принимает параметры.

Возвращает экземпляр класса CurrentQuestionInfo.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getId()

С помощью этого метода можно получить id опроса.

Не принимает параметры.

Возвращает ID опроса. Тип String.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.


интерфейс SurveyAnswerCallback

Объект, реализующий интерфейс, может быть передан в параметре callback метода sendSurveyAnswer(String surveyAnswer, SurveyAnswerCallback callback) протокола MessageStream.

метод onSuccess()

Метод вызывается при успешном результате вызова метода sendSurveyAnswer(String surveyAnswer, SurveyAnswerCallback callback) протокола MessageStream.

Не принимает параметры.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод onFailure(WebimError<SurveyAnswerError> WebimError)

Метод вызывается при неуспешном результате вызова метода sendSurveyAnswer(String surveyAnswer, SurveyAnswerCallback callback) протокола MessageStream.

Параметр WebimError — возникшая ошибка. Тип — WebimError.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.


интерфейс SurveyCloseCallback

Объект, реализующий интерфейс, может быть передан в параметре callback метода closeSurvey(SurveyCloseCallback callback) протокола MessageStream.

метод onSuccess()

Метод вызывается при успешном результате вызова метода closeSurvey(SurveyCloseCallback callback) протокола MessageStream.

Не принимает параметры.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод onFailure(WebimError<SurveyAnswerError> WebimError)

Метод вызывается при неуспешном результате вызова метода [closeSurvey(SurveyCloseCallback callback)](#close-survey) протокола MessageStream.

Параметр WebimError — возникшая ошибка. Тип — WebimError<SurveyCloseError>.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.


интерфейс SurveyListener

Объект, реализующий интерфейс, может быть передан в параметре SurveyListener метода setSurveyListener(SurveyListener surveyListener) протокола MessageStream.

метод onSurvey(Survey survey)

Данный метод вызывается в момент, когда с сервера приходит новый опрос.

Параметр survey — объект опроса.

Ничего не возвращает.

Исключений не выбрасывает.

Не требует предварительного вызова никаких других методов.

метод onNextQuestion(Survey.Question question)

Данный метод вызывается в двух случаях: при получении опроса сразу после вызова onSurvey(Survey survey) и при успешном ответе на предыдущий вопрос.

Параметр question — текущий вопрос.

Ничего не возвращает.

Исключений не выбрасывает.

Не требует предварительного вызова никаких других методов.

метод onSurveyCanceled()

Данный метод вызывается, когда опрос закрывается на сервере.

Не принимает параметры.

Ничего не возвращает.

Исключений не выбрасывает.

Не требует предварительного вызова никаких других методов.


интерфейс UploadedFile

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

Интерфейс реализован внутренними сущностями SDK, объекты которого могут быть получены в вызовах методов интерфейса MessageListener.

Объекты UploadedFile — неизменяемые. Изменения каких-либо его полей создает новый объект.

метод getSize()

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

Не принимает параметров.

Возвращает размер файла вложения в байтах. Тип — long.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getGuid()

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

Не принимает параметров.

Возвращает значение в текстовом виде. Тип — String.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getFileName()

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

Не принимает параметров.

Возвращает имя файла вложения в текстовом виде. Тип — String.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getContentType()

Метод, с помощью которого может быть получен MIME-тип вложения.

Не принимает параметров.

Возвращает MIME-тип вложения в текстовом видe. Тип — String.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getVisitorId()

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

Не принимает параметров.

Возвращает значение в текстовом виде. Тип — String.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getClientContentType()

Метод, с помощью которого может быть получен MIME-тип вложения.

Не принимает параметров.

Возвращает MIME-тип вложения в текстовом видe. Тип — String.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.


интерфейс UploadFileToServerCallback

Интерфейс, методы которого реализуются каким-либо классом приложения.

Объект, подчиняющийся интерфейсу, может быть передан в параметре uploadFileToServerCallback метода uploadFilesToServer(File file, String name, String mimeType, UploadFileToServerCallback uploadFileToServerCallback) интерфейса MessageStream.

метод onSuccess(Message.Id id, UploadedFile uploadedFile)

Метод вызывается при успешной отправке файла методом uploadFilesToServer(File file, String name, String mimeType, UploadFileToServerCallback uploadFileToServerCallback) интерфейса MessageStream.

Параметр id — ID соответствующего сообщения. Тип — Message.Id.

Параметр uploadedFile — загруженный на сервер файл. Тип — UploadedFile.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

Метод будет вызван после завершения работы метода uploadFilesToServer(File file, String name, String mimeType, UploadFileToServerCallback uploadFileToServerCallback).

метод onFailure(Message.Id id, WebimError<SendFilesCallback.SendFileError> error)

Вызывается при неудачной отправке файла методом uploadFilesToServer(File file, String name, String mimeType, UploadFileToServerCallback uploadFileToServerCallback) интерфейса MessageStream.

Параметр id — ID соответствующего сообщения. Тип — Message.Id.

Параметр error — ошибка, воспрепятствовавшая успешной отправке файла. Тип — <SendFilesCallback.SendFileError>.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

Метод будет вызван после завершения работы метода uploadFilesToServer(File file, String name, String mimeType, UploadFileToServerCallback uploadFileToServerCallback).


перечисляемый тип SurveyAnswerError

Возможные ошибки, которые могут быть переданы в параметр WebimError метода onFailure(WebimError<SurveyAnswerError> WebimError) протокола SurveyAnswerCallback.

случай INCORRECT_RADIO_VALUE

Возникает, когда был передан неправильный ответ на вопрос типа 'radio'.

случай INCORRECT_STARS_VALUE

Возникает, когда был передан неправильный ответ на вопрос типа 'stars'.

случай INCORRECT_SURVEY_ID

Возникает, когда при попытке отправить ответ на вопрос был передан неверный ID опроса.

случай MAX_COMMENT_LENGTH_EXCEEDED

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

случай NO_CURRENT_SURVEY

Возникает при попытке отправить ответ на вопрос, когда текущий опрос на сервере уже был закрыт или ещё не был начат.

случай SURVEY_DISABLED

Возникает при попытке отправить ответ на вопрос, когда возможность опросов выключена на данном сервере.

случай UNKOWN

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


перечисляемый тип SurveyCloseError

Возможные ошибки, которые могут быть переданы в параметр WebimError метода onFailure(WebimError<SurveyCloseError> WebimError) протокола SurveyCloseCallback.

случай INCORRECT_SURVEY_ID

Возникает, когда при попытке закрыть опрос был передан неверный ID опроса.

случай NO_CURRENT_SURVEY

Возникает при попытке закрыть опрос, когда текущий опрос на сервере уже был закрыт или ещё не был начат.

случай SURVEY_DISABLED

Возникает при попытке закрыть опрос, когда возможность опросов выключена на данном сервере.

случай UNKNOWN

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


интерфейс GreetingMessageListener

Интерфейс является абстракцией, представляющей приветственное сообщение.

Объект, реализующий интерфейс, может быть передан в параметре listener метода setGreetingMessageListener(GreetingMessageListener listener) протокола MessageStream.

метод greetingMessage(String message)

Метод вызывается при получении приветственного сообщения до получения сообщений в чате.

Параметр message — приветственное сообщение. Тип — String.

Ничего не возвращает.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.


интерфейс Question

метод getType()

С помощью этого метода можно узнать тип данного вопроса.

Не принимает параметры.

Возвращает тип вопроса. Тип Type.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getText()

С помощью этого метода можно получить текст вопроса.

Не принимает параметры.

Возвращает текст вопроса. Тип String.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.

метод getOptions()

С помощью этого метода можно получить варианты ответов для вопроса.

Не принимает параметры.

Возвращает список вариантов типа List<String> или null, если тип вопроса не 'radio'.

Не выбрасывает исключения.

Не требует предварительного вызова никаких других методов.