Дополнительные возможности 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
Возможный источник статьи. Статья может быть взята из поиска или из структуры или категории.
Случай search
Статью запрашивают из поиска.
Случай 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 при запуске нескольких сессий на одном устройстве.
Тип параметра multivisitorSection
— String
.
Возвращает тот же экземпляр класса SessionBuilder
, но с установленным полем.
Для получения экземпляра класса WebimSession
вызов метода не является обязательным.
Метод setOnlineStatusRequestFrequencyInMillis(long requestFrequency)
Метод, с помощью которого можно указать частоту запросов к серверу в миллисекундах.
Параметр requestFrequency
— long
.
Возвращает тот же экземпляр класса 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'
.
Не выбрасывает исключения.
Не требует предварительного вызова никаких других методов.