Справочник по Webim Mobile SDK для интеграции в мобильные приложения Android

Редакция соответствует версии 3.20.0.

Содержание


класс Webim

Набор статических методов, которые используются при создании объекта сессии и для работы в push-уведомлениями, поступающими от сервиса Webim.

Наверх

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

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

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

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

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

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

Наверх

метод класса parseGcmPushNotification(Bundle bundle)

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

Пример использования:

WebimPushNotification pushNotification =

        Webim.parseGcmPushNotification(intent.getExtras());

Параметр bundle – сериализованные данные push-уведомления. Тип – Bundle.

Возвращает объект класса WebimPushNotification или null.

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

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

Наверх

метод класса parseFcmPushNotification(String message)

Метод, используемый для конвертирования push-уведомления в Android-приложении, в объект класса WebimPushNotification.

Пример использования:

WebimPushNotification pushNotification =

        Webim.parseFcmPushNotification(remoteMessage.getData().toString());

Параметр message – push-уведомление. Тип – String.

Возвращает объект класса WebimPushNotification или null.

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

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

Наверх

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

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

Пример использования:

if (intent.getStringExtra("from").equals(Webim.getGcmSenderId())) {
    // Process Webim push notification.
} else {
    // Process your application push notification.
}

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

Возвращает ID отправителя push-уведомлений от сервиса Webim. Тип – String.

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

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

Наверх

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

Системы push-уведомлений, которые могут быть переданы в качестве параметра метода экземпляра SessionBuilder setPushSystem(PushSystem pushSystem).

Наверх

случай FCM

Соответствует Firebase Cloud Messaging.

Наверх

случай GCM

Соответствует Google Cloud Messaging.

Наверх

случай NONE

Соответствует ситуации, когда приложению не требуется получать push-уведомления от сервиса Webim.

Наверх

класс SessionBuilder

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

Наверх

метод экземпляра setContext(Context context)

Метод предназначен для передачи контекста приложения или Activity для использования методами SDK. Контекст необходим для создания и использования истории сообщений, хранимой локально на устройстве, получения токена для отправки push-уведомлений и получения объекта SharedPreferences (если он не передается напрямую с помощью метода setVisitorDataPreferences(SharedPreferences preferences)). SharedPreferences используются для сохранения идентификационных данных посетителя (см. методы экземпляра setVisitorFieldsJson(String visitorFieldsJson) и setVisitorFieldsJson(JsonObject visitorFieldsJson)).

Параметр context – контекст приложения или Activity. Тип – Context.

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

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

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

Наверх

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

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

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

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

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

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

Наверх

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

Метод необходим для задания изначально используемой локации при создании сессии.

Параметр location – локация внутри сервиса Webim, которая будет использоваться при чате. Тип параметра – String. Скорее всего, сразу же можно использовать значения «mobile» и/или «default«. Для создания и дальнейшего использования дополнительных локаций необходимо связаться со службой поддержки сервиса Webim.

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

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

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

Наверх

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

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

Параметр appVersion – версия клиентского приложения. Тип параметра – String.

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

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

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

Наверx

метод экземпляра setVisitorDataPreferences(SharedPreferences preferences)

Метод используется для передачи объекта SharedPreferences SDK. Он используется для хранения данных авторизованного пользователя (см. методы setVisitorFieldsJson(String visitorFieldsJson) и setVisitorFieldsJson(JsonObject visitorFieldsJson)) и названия файла локального хранилища истории сообщений.

Если данный метод не был вызван, объект SharedPreferences будет получен из контекста (см. метод setContext(Context context)).

Данные различных авторизованных пользователей хранятся в различных файлах SharedPreferences.

Параметр preferences – объект SharedPreferences приложения.

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

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

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

Наверх

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

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

Без вызова этого метода при создании объекта сессии, пользователь будет анонимным, со случайным образом сгенерированным ID. Этот ID сохраняется в настройках приложения, и в случае потери этих настроек (например, при переустановке приложения), все данные (история сообщений) будут потеряны.

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

Параметр visitorFieldsJson – поля авторизационных данных пользователя в JSON-формате, тип – String. Подробную информацию об этих полях (включая, какие из них являются обязательными, и как необходимо их формировать) можно почерпнуть на сайте сервиса Webim: https://webim.ru/help/identification/.

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

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

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

Данный метод не может быть вызван одновременно с методом setProvidedAuthorizationTokenStateListener(ProvidedAuthorizationTokenStateListener ProvidedAuthorizationTokenStateListener, String providedAuthorizationToken).

Наверх

метод экземпляра setVisitorFieldsJson(JsonObject visitorFieldsJson)

Метод, полностью аналогичный методу setVisitorFieldsJson(String visitorFieldsJson) за исключением параметра: параметр visitorFieldsJson имеет тип JsonObject. Какой из двух методов использовать не имеет значения.

Наверх

метод экземпляра setProvidedAuthorizationTokenStateListener(ProvidedAuthorizationTokenStateListener providedAuthorizationTokenStateListener, String providedAuthorizationToken)

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

Данный метод передает объект класса, реализующего интерфейс ProvidedAuthorizationTokenStateListener, и токен.

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

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

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

Данный метод не может быть вызван одновременно с методами setVisitorFieldsJson(String visitorFieldsJson) или setVisitorFieldsJson(JsonObject visitorFieldsJson).

Наверх

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

Метод, с помощью которого можно установить заголовок чата со стороны оператора при создании экземпляра сессии. В случае, если при создании экземпляра сессии метод не был вызван, заголовок примет значение по умолчанию – «Android Client».

Параметр title – заголовок чата со стороны оператора. Тип параметра – String.

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

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

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

Наверх

метод экземпляра setErrorHandler(FatalErrorHandler errorHandler)

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

Параметр errorHandler – любой класс, реализующий интерфейс FatalErrorHandler.

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

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

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

Наверх

метод экземпляра setPushSystem(PushSystem pushSystem)

Метод, с помощью которого при создании сессии можно указать, будет ли приложение получать push-уведомления от сервиса Webim и, если будет, какую систему push-уведомлений приложение будет для этого использовать. (См. перечисляемый тип PushSystem в классе Webim.)

Параметр pushSystem – соответствующее значение типа PushSystem класса Webim.

Возвращает тот же экземпляр класса SessionBuilder, но с установленной системой для использования push-уведомлений.

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

Требует предварительно полученного экземпляра класса SessionBuilder. Для получения приложением push-уведомлений сервиса Webim, вызов данного метода не является достаточным: необходим также вызов метода setPushToken(String pushToken).

Для получения экземпляра класса WebimSession вызов метода не является обязательным. Если при создании сессии метод вызван не был, сервис Webim не будет высылать приложению push-уведомления (аналогично, как при значении параметра pushSystem NONE).

Наверх

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

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

Параметр pushToken – токен, использующийся для получения push-уведомлений в приложении. Тип – String в шестнадцатиричном формате, без служебных символов и пробелов.

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

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

Требует предварительно полученного экземпляра класса SessionBuilder. Для получения приложением push-уведомлений сервиса Webim, вызов данного метода не является достаточным: необходим также вызов метода setPushSystem(PushSystem pushSystem).

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

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

Наверх

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

Метод, с помощью которого можно задать собственный GCM Sender Id для push-уведомленийБез вызова этого метода будет использован Webim GCM Sender ID.

Параметр senderId — значение GCM Sender Id. Тип — String.

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

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

Наверх

метод экземпляра setLogger(WebimLog logger, WebimLogVerbosityLevel verbosityLevel)

Метод, с помощью которого передается объект класса WebimLog.

Параметр logger — объект класса WebimLog.

Параметр verbosityLevel — значение WebimLogVerbosityLevel.

Возвращает тот же экземпляр класса SessionBuilder, но с установленным объектом класса WebimLog для логгирования информации.

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

Наверх

метод экземпляра setStoreHistoryLocally(boolean storeHistoryLocally)

По умолчанию сессия сохраняет на устройстве историю сообщений (в SQLite-хранилище, связанном с приложением). Если для каких-либо целей необходимо отключить данный функционал, используется этот метод со значением параметра storeHistoryLocally false.

Параметр storeHistoryLocally – булева переменная, означающая необходимость хранения истории сообщений локально (значение true) или ее (необходимости) отсутствие (значение false).

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

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

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

Наверх

метод экземпляра setClearVisitorData(boolean clearVisitorData)

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

Параметр clearVisitorData – булева переменная, означающая необходимость очистить пользовательские данные (значение true) или ее (необходимости) отсутствие (значение false).

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

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

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

Наверх

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

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

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

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

Выбрасывает IllegalArgumentException в следующих случаях:

– не был установлен контекст (см. метод setContext(Context context)),

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

– не было установлено название локации (см. метод setLocation(String location)),

– не была установлена система push-уведомлений (см. метод setPushSystem(PushSystem pushSystem)), но был установлен токен для использования push-уведомлений (см. метод setPushToken(String pushToken)).

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

Наверх

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

Определяет степень информативности передаваемых в объект WebimLog записей.

Наверх

случай VERBOSE

Вся доступная информация будет передана объекту WebimLog с максимальным уровнем информативности:

  • параметры настройки сетевых соединений;
  • URL, HTTP-методы и параметры сетевых запросов;
  • HTTP-коды, полученные данные и ошибки ответов на сетевые запросы;
  • SQL-запросы и ошибки, возникающие при этих запросах;
  • полная информация, которая может быть полезна при дебаггинге, и дополнительные заметки.

Наверх

случай DEBUG

Вся необходимая для дебаггинга информация будет передана объекту WebimLog с необходимым уровнем информативности:

  • параметры настройки сетевых соединений;
  • URL, HTTP-методы и параметры сетевых запросов;
  • HTTP-коды, полученные данные и ошибки ответов на сетевые запросы;
  • SQL-запросы и ошибки, возникающие при этих запросах;
  • полная информация, которая может быть полезна при дебаггинге, с умеренным уровнем информацтивности.

Наверх

случай INFO

Объекту WebimLog будет передана справочная информация, а также все предупреждения и ошибки:

  • URL, HTTP-методы и параметры сетевых запросов;
  • HTTP-коды и ошибки ответов на сетевые запросы, которые не закончились успехом;
  • ошибки SQL-запросов.

Наверх

случай WARNING

Объекту WebimLog будут переданы только предупреждения и ошибки:

  • HTTP-коды и ошибки ответов на сетевые запросы, которые не закончились успехом;
  • ошибки SQL-запросов.

Наверх

случай ERROR

Объекту WebimLog будут переданы только ошибки:

  • HTTP-коды и ошибки ответов на сетевые запросы, которые не закончились успехом.

Наверх

интерфейс ProvidedAuthorizationTokenStateListener

Если клиент предоставляет собственный механизм авторизации посетителя, это может быть реализовано с помощью передачи специального токена, который используется вместо посетительских полей (см. методы setVisitorFieldsJson(String visitorFieldsJson) и setVisitorFieldsJson(JsonObject visitorFieldsJson)).

В момент генерации (или получения переданного значения) этого токена, вызывается метод update(String providedAuthorizationToken). Это означает, что сервис клиента должен передать данный токен в сервис Webim.

Данный механизм – это не самодостаточная реализация. Клиентский сервис должен поддерживать и реализовывать методы передачи токена и данных посетителя в сервис Webim.

Наверх

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

Метод вызывается в двух случаях:

1. Токен клиентского механизма авторизации передан или сгенерирован и требуется его отправка в сервис Webim силами клиента.

2. От сервиса Webim получена информация о том, что используемый токен ему неизвестен. Это может случиться, например, если токен не был отправлен сервису Webim сервисом клиента или не был получен сервисом Webim. В этом случае сервису Webim необходимо предоставить токен и соответствующие ему данные посетителя.

Параметр providedAuthorizationToken – токен клиентского механизма авторизации.

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

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

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

Наверх

интерфейс WebimSession

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

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

Наверх

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

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

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

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

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

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

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

Скорость выполнения метода зависит от скорости получения ответа сервера. В результате ответа сервера могут быть вызваны различные методы MessageListener, ChatStateListener, CurrentOperatorChangeListener и LocationSettingsChangeListener.

Наверх

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

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

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

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

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

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

Наверх

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

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

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

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

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

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

Наверх

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

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

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

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

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

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

Наверх

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

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

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

Возвращает соответствующий сессии экземпляр класса MessageStream. Каждый вызов данного метода в контексте одного объекта класса возвращает один и тот же объект MessageStream.

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

Не требует предварительного вызова никаких других методов, но для полноценного использования методов интерфейса MessageStream сессия не должна быть приостановлена или деактивирована (см. методы resume(), pause() и destroy()).

Наверх

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

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

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

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

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

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

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

Наверх

метод экземляра setPushToken(String pushToken)

Метод используется для установки push-токена для получения push-уведомлений.

Параметр pushToken – токен, использующийся для получения push-уведомлений в приложении. Тип – String.

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

Выбрасывает IllegalStateException, если объект сессии был деактивирован (см. метод destroy()), а также если система push-уведомлений не была сконфигурирована должным образом (см. метод setPushSystem(PushSystem pushSystem) класса SessionBuilder).

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

Наверх

интерфейс MessageStream

Интерфейс, реализуемый внутренними сущностями SDK.

Экземпляр класса, с помощью которого вызываются методы интерфейса, в рамках сессии существует только один и получается с помощью метода getStream() экземпляра класса WebimSession. Методы интерфейса используются непосредственно для взаимодействия с сервисом Webim (таких как отправка и получение сообщений).

Для использования методов интерфейса необходимо, чтобы сессия не находилась в приостановленном или деактивированном виде (см. методы resume(), pause() и destroy() класса WebimSession).

Наверх

метод getVisitSessionState()

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

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

Возвращает текущее состояние сессии значением типа VisitSessionState.

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

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

Наверх

метод getChatState()

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

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

Возвращает значение перечислимого типа ChatState.

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

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

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

Наверх

метод getUnreadByOperatorTimestamp()

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

Возвращает момент времени (типа Date), после которого все сообщения чата являются непрочитанными оператором (на момент полученного от сервера обновления).

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

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

Наверх

метод getUnreadByVisitorMessageCount()

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

Возвращает количество непрочитанных сообщений пользователем.

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

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

Наверх

метод getUnreadByVisitorTimestamp()

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

Возвращает момент времени (типа Date), после которого все сообщения чата являются непрочитанными посетителем (на момент полученного от сервера обновления).

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

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

Наверх

метод getDepartmentList()

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

Возвращает список отделов списком объектов типа Department или null, если отделы не используются или список отделов пока не был получен.

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

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

Наверх

метод getLocationSettings()

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

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

Возвращает объект класса LocationSettings, соответствующий текущей сессии.

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

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

Наверх

метод getCurrentOperator()

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

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

Возвращает объект класса Operator или null, если у чата в данный момент нет оператора.

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

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

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

Наверх

метод getLastOperatorRating(Operator.Id operatorId)

С помощью этого метода можно уточнить текущий рейтинг (в целых числах от 0 до 5) оператора, зная ID этого оператора (см. метод getId() интерфейса Operator).

Параметр idID оператора, рейтинг которого должен вернуть метод. Тип – Operator.Id.

Возвращает рейтинг оператора с ID, соответствующему значению параметра id, в целых числах от 1 до 5 или 0, если рейтинг у оператора отсутствует. Тип – int.

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

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

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

Наверх

метод rateOperator(Operator.Id operatorId, int rate, RateOperatorCallback rateOperatorCallback)

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

Параметр operatorId – ID оператора, оценку которого необходимо отправить сервису Webim. Тип – Operator.Id.

Параметр rate – оценка оператора, которую необходимо отправить сервису Webim. Оценка должна быть целым числом от 1 до 5. Тип – int.

Параметр rateOperatorCallback – объект, реализующий интерфейс RateOperatorCallback.

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

Выбрасывает IllegalStateException, если объект WebimSession был деактивирован (см. метод destroy()), а также если параметр rate не лежит в диапазоне от 1 до 5 включительно.

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

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

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

Наверх

метод respondSentryCall(String id)

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

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

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

Выбрасывает IllegalStateException, если объект WebimSession был деактивирован (см. метод destroy()), а также если параметр rate не лежит в диапазоне от 1 до 5 включительно.

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

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

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

Наверх

метод startChat()

Метод начинает чат. В терминах сервиса Webim меняет у текущего чата состояние, представленное типом ChatState, на QUEUE.

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

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

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

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

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

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

В результате может быть вызван метод onStateChange(ChatState oldState, ChatState newState) интерфейса ChatStateListener.

Наверх

метод startChatWithDepartmentKey(String departmentKey)

Метод начинает чат с указанием определенного отдела. В терминах сервиса Webim меняет у текущего чата состояние, представленное типом ChatState, на QUEUE.

Параметр departmentKey – значение ключа отдела, которое может быть получено методом getKey() интерфейса Department. Тип – String.

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

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

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

При отправке сообщения или файла пользователем, чат начинается автоматически, но если текущее состояние VisitSessionState DEPARTMENT_SELECTION, чат необходимо начать именно с помощью данного метода или метода startChatWithDepartmentKeyFirstQuestion(String departmentKey, String firstQuestion).

В результате может быть вызван метод onStateChange(ChatState oldState, ChatState newState) интерфейса ChatStateListener.

Наверх

метод startChatWithFirstQuestion(String firstQuestion)

Метод начинает чат и одновременно посылает первое сообщение посетителя.

В терминах сервиса Webim меняет у текущего чата состояние, представленное типом ChatState, на QUEUE.

Параметр firstQuestion –  первое сообщение пользователя. Тип – String.

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

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

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

В результате может быть вызван метод onStateChange(ChatState oldState, ChatState newState) интерфейса ChatStateListener.

Наверх

метод startChatWithDepartmentKeyFirstQuestion(String departmentKey, String firstQuestion)

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

В терминах сервиса Webim меняет у текущего чата состояние, представленное типом ChatState, на QUEUE.

Параметр departmentKey – значение ключа отдела, которое может быть получено методом getKey() интерфейса Department. Тип – String.

Параметр firstQuestion –  первое сообщение пользователя. Тип – String.

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

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

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

При отправке сообщения или файла пользователем, чат начинается автоматически, но если текущее состояние VisitSessionState DEPARTMENT_SELECTION, чат необходимо начать именно с помощью данного метода или метода startChatWithDepartmentKey(String departmentKey).

В результате может быть вызван метод onStateChange(ChatState oldState, ChatState newState) интерфейса ChatStateListener.

Наверх

метод closeChat()

Метод отправляет сигнал сервису Webim, что посетитель закончил чат. В терминах сервиса Webim меняет у текущего чата состояние, представленное типом ChatState, на CLOSED_BY_VISITOR.

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

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

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

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

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

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

В результате может быть вызван метод onStateChange(ChatState oldState, ChatState newState) интерфейса ChatStateListener.

Наверх

метод setVisitorTyping(String draftMessage)

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

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

Параметр draftMessage – сообщение, которое уже ввел посетитель в соответствующее поле, но не отправил его. Тип – String, Значение параметра null соответствует ситуации, когда посетитель прекратил ввод сообщения либо стер написанное из поля ввода.

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

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

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

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

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

Наверх

метод sendMessage(String message, String data, DataMessageCallback dataMessageCallback)

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

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

Параметр data используется для передачи параметров сообщения на сервер (если версия сервера поддерживает данный функционал) в JSON-формате. Тип – String.

Параметр dataMessageCallback – объект, реализующий методы интерфейса DataMessageCallback.

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

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

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

Не требует предварительного вызова никаких других методов. Если существуют объекты MessageTracker и MessageListener, отправка сообщения вызовет метод messageAdded(Message before, Message message) интерфейса MessageListener с новым сообщением со статусом SENDING перечислимого типа SendStatus.

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

Наверх

метод sendMessage(String message, boolean isHintQuestion)

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

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

Параметр isHintQuestion используется, если приложение обладает собственным механизмом показа подсказок пользователю. Тип – boolean. В случае, если посетитель не ввел сообщение вручную, а выбрал одну из предлагаемых подсказок, значение параметра должно быть true, и false – в обратном случае. Параметр не обязательный для использования и может быть опущен.

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

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

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

Не требует предварительного вызова никаких других методов. Если существуют объекты MessageTracker и MessageListener, отправка сообщения вызовет метод messageAdded(Message before, Message message) интерфейса MessageListener с новым сообщением со статусом SENDING перечислимого типа SendStatus.

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

Наверх

метод sendMessage(String message)

Полностью соответствует методу send(String message, boolean isHintQuestion) с опущенным параметром isHintQuestion.

Наверх

метод sendFile(File file, String name, String mimeType, SendFileCallback callback)

Метод используется для отправки файла от посетителя оператору.

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

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

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

Параметр callback – объект, реализующий методы интерфейса SendFileCallback.

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

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

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

Не требует предварительного вызова никаких других методов. Если существуют объекты MessageTracker и MessageListener, отправка сообщения вызовет метод amessageAdded(Message before, Message message) интерфейса MessageListener с новым сообщением со статусом SENDING перечислимого типа SendStatus.

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

Наверх

метод newMessageTracker(MessageListener listener)

Метод используется для получения экземпляра класса MessageTracker.

Параметр listener – объект класса, реализующего методы интерфейса MessageListener.

Возвращает экземпляр класса MessageTracker, соответствующий текущему объекту MessageStream.

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

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

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

Наверх

метод setVisitSessionStateListener(VisitSessionStateListener visitSessionStateListener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса VisitSessionStateListener.

Параметр visitSessionStateListener – объект, реализующий методы интерфейса VisitSessionStateListener.

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

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

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

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

Наверх

метод setChatStateListener(ChatStateListener listener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса ChatStateListener.

Параметр chatStateListener – объект, реализующий методы интерфейса ChatStateListener.

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

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

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

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

Наверх

метод setCurrentOperatorChangeListener(CurrentOperatorChangeListener listener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса CurrentOperatorChangeListener.

Параметр listener – объект, реализующий методы интерфейса CurrentOperatorChangeListener.

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

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

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

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

Наверх

метод setDepartmentListChangeListener
(DepartmentListChangeListener departmentListChangeListener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса DepartmentListChangeListener.

Параметр departmentListChangeListener – объект, реализующий методы интерфейса DepartmentListChangeListener.

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

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

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

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

Наверх

метод setOperatorTypingListener(OperatorTypingListener listener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса OperatorTypingListener.

Параметр listener – объект, реализующий методы интерфейса OperatorTypingListener.

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

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

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

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

Наверх

метод setLocationSettingsChangeListener(LocationSettingsChangeListener locationSettingsChangeListener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса LocationSettingsChangeListener.

Параметр locationSettingsChangeListener – объект, реализующий методы интерфейса LocationSettingsChangeListener.

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

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

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

Наверх

метод setOnlineStatusChangeListener(OnlineStatusChangeListener onlineStatusChangeListener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса OnlineStatusChangeListener.

Параметр onlineStatusChangeListener – объект, реализующий методы интерфейса OnlineStatusChangeListener.

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

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

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

Наверх

метод setUnreadByOperatorTimestampChangeListener(UnreadByOperatorTimestampChangeListener listener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса UnreadByOperatorTimestampChangeListener.

Параметр listener – объект, реализующий методы интерфейса UnreadByOperatorTimestampChangeListener.

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

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

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

Наверх

метод setUnreadByVisitorMessageCountChangeListener(UnreadByVisitorMessageCountChangeListener listener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса UnreadByVisitorMessageCountChangeListener.

Параметр listener – объект, реализующий методы интерфейса UnreadByVisitorMessageCountChangeListener.

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

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

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

Наверх

метод setUnreadByVisitorTimestampChangeListener(UnreadByVisitorTimestampChangeListener listener)

Метод передает в SDK ссылку на объект, реализующий методы интерфейса UnreadByVisitorTimestampChangeListener.

Параметр listener – объект, реализующий методы интерфейса UnreadByVisitorTimestampChangeListener.

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

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

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

Наверх

интерфейс DataMessageCallback

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

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

Наверх

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

Метод вызывается при успешной отправке сообщения методом sendMessage(String message, String data, DataMessageCallback dataMessageCallback) интерфейса MessageStream.

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

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

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

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

Метод будет вызван после завершения работы метода sendMessage(String message, String data, DataMessageCallback dataMessageCallback).

Наверх

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

Вызывается при неудачной отправке сообщения методом sendFile(File file, String name, String mimeType, SendFileCallback callback) интерфейса MessageStream.

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

Параметр error – ошибка, воспрепятствовавшая успешной отправке сообщения. Тип – WebimError<DataMessageError>.

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

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

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

Метод будет вызван после завершения работы метода sendMessage(String message, String data, DataMessageCallback dataMessageCallback).

Наверх

интерфейс SendFileCallback

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

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

Наверх

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

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

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

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

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

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

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

Наверх

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

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

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

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

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

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

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

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

Наверх

интерфейс RateOperatorCallback

Объект, реализующий интерфейс, может быть передан в параметре rateOperatorCallback метода rateOperator(Operator.Id operatorId, int rate, RateOperatorCallback rateOperatorCallback) протокола MessageStream.

Наверх

метод onSuccess()

Метод вызывается при успешном результате вызова метода rateOperator(Operator.Id operatorId, int rate, RateOperatorCallback rateOperatorCallback) протокола MessageStream.

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

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

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

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

Наверх

метод onFailure(WebimError<RateOperatorError> rateOperatorError)

Метод вызывается при неуспешном результате вызова метода rateOperator(Operator.Id operatorId, int rate, RateOperatorCallback rateOperatorCallback) протокола MessageStream.

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

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

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

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

интерфейс VisitSessionStateListener

Интерфейс, методы которого реализуются каким-либо классом приложения. Объект, реализующий интерфейс, может быть передан в параметре visitSessionStateListener метода setVisitSessionStateListener(VisitSessionStateListener visitSessionStateListener) интерфейса MessageStream.

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

Наверх

метод onStateChange(VisitSessionState previousState, VisitSessionState newState)

Метод вызывается при изменении статуса сессии.

Параметр previosState – предыдущий статус сессии. Тип – VisitSessionState.

Параметр newState – новый статус сессии. Тип – VisitSessionState.

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

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

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

Наверх

интерфейс DepartmentListChangeListener

Интерфейс, методы которого реализуются каким-либо классом приложения. Объект, реализующий интерфейс, может быть передан в параметре departmentListChangeListener метода setDepartmentListChangeListener(DepartmentListChangeListener departmentListChangeListener) интерфейса MessageStream.

Используется для отслеживания изменения списка отделов.

Наверх

метод receivedDepartmentList(List<Department> departmentList)

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

Параметр departmentList получаемый список отделов. Тип – List<Department>.

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

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

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

интерфейс LocationSettings

Методы интерфейса реализованы внутренними сущностями SDK. Экземпляр класса, реализующий интерфейс, может быть получен методом getLocationSettings() объекта MessageStream.

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

Наверх

метод areHintsEnabled()

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

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

Возвращает булево значение: true, если подсказки необходимо показывать, и false – в противном случае.

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

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

Наверх

интерфейс ChatStateListener

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

Используется для отслеживания изменений состояния текущего чата.

Наверх

метод onStateChange(ChatState oldState, ChatState newState)

Метод вызывается, когда состояние текущего чата изменилось.

Параметр oldState – предыдущее состояние чата. Тип – ChatState.

Параметр newState – новое состояние чата. Тип – ChatState.

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

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

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

Наверх

интерфейс CurrentOperatorChangeListener

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

Используется для отслеживания изменения оператора текущего чата.

Наверх

метод onOperatorChanged(Operator oldOperator, Operator newOperator)

Метод вызывается, когда оператор текущего чата изменился (или оператора не стало).

Параметр oldOperator – предыдущий оператор. Тип – Operator.

Параметр newOperator – новое состояние чата. Тип – Operator. Принимает значение null в случае, если оператор покинул чат.

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

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

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

Наверх

интерфейс OperatorTypingListener

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

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

Наверх

метод onOperatorTypingStateChanged(boolean isTyping)

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

Параметр isTyping – булево значение, принимающее значение true, если оператор вводить сообщение, и false – в противном случае.

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

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

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

Наверх

интерфейс LocationSettingsChangeListener

Интерфейс, методы которого реализуются каким-либо классом мобильного приложения. Объект класса, реализующий интерфейс, может быть передан в параметре locationSettingsChangeListener метода setLocationSettingsChangeListener(LocationSettingsChangeListener locationSettingsChangeListener) интерфейса MessageStream.

Используется для отслеживания изменений в текущих настройках локации.

Наверх

метод onLocationSettingsChanged(LocationSettings oldLocationSettings, LocationSettings newLocationSettings)

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

Параметр oldLocationSettings – предыдущее значение настроек текущей локации. Тип – LocationSettings.

Параметр newLocationSettings – новое значение настроек текущей локации. Тип – LocationSettings.

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

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

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

Наверх

интерфейс OnlineStatusChangeListener

Интерфейс адаптируется сущностями мобильного приложения. Объект класса, реализующий интерфейс, может быть передан в параметре onlineStatusChangeListener метода setOnlineStatusChangeListener(OnlineStatusChangeListener onlineStatusChangeListener) интерфейса MessageStream.

Используется для получения оповещений при изменении статуса сессии. Статус сессии описан в значениях перечисляемого типа OnlineStatus.

Наверх

метод onOnlineStatusChanged(OnlineStatus oldOnlineStatus, OnlineStatus newOnlineStatus)

Метод вызывается при изменении статуса сессии.

Параметр oldOnlineStatus – предыдущее состояние сессии. Тип – OnlineStatus.

Параметр newOnlineStatus – новое (полученное) состояние сессии. Тип – OnlineStatus.

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

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

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

Наверх

интерфейс UnreadByOperatorTimestampChangeListener

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

Наверх

метод onUnreadByOperatorTimestampChanged(Date newTimestamp)

Метод, который вызывается при изменении параметра, возвращаемого методом getUnreadByOperatorTimestamp().

Параметр newTimestamp – новое значение, возвращаемое методом getUnreadByOperatorTimestamp().

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

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

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

Наверх

интерфейс UnreadByVisitorMessageCountListener

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

Наверх

метод onUnreadByVisitorMessageCountChanged(int newMessageCount)

Метод, который вызывается при изменении параметра, возвращаемого методом getUnreadByVisitorMessageCount().

Параметр newMessageCount – новое значение, возвращаемое методом getUnreadByVisitorMessageCount().

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

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

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

Наверх

интерфейс UnreadByVisitorTimestampChangeListener

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

Наверх

метод onUnreadByVisitorTimestampChanged(Date newTimestamp)

Метод, который вызывается при изменении параметра, возвращаемого методом getUnreadByVisitorTimestamp().

Параметр newTimestamp – новое значение, возвращаемое методом getUnreadByVisitorTimestamp().

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

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

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

Наверх

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

Возможные варианты состояния чата (см. метод getChatState() интерфейса MessageStream).

Начальное состояние – NONE. Если вызван метод startChat() или один из методов отправки сообщений интерфейса MessageStream, состояние изменяется на QUEUE. Когда оператор принимает чат в обработку, его (чата) состояние изменяется на CHATTING. Когда вызывается метод closeChat() интерфейса MessageStream, состояние чата изменяется на CLOSED_BY_VISITOR. Если чат был закрыт оператором – на CLOSED_BY_OPERATOR. После того, как чат был закрыт и посетителем, и оператором, его состояние возвращается в NONE. Также это происходит после долгого отсутствия активности в чате. Также чат может быть заново начат и оператором: в этом случае состояние чата принимает значение INVITATION, а после того, как посетитель напишет что-либо в ответ, состояние чата принимает значение CHATTING.

Наверх

случай CHATTING

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

Из этого состояния чат может перейти либо в CLOSED_BY_OPERATOR, либо в CLOSED_BY_VISITOR, либо в NONE.

Наверх

случай CLOSED_BY_OPERATOR

Состояние чата, когда тот был закрыт оператором, но еще не закрыт посетителем.

Из этого состояния чат может перейти либо в NONE, либо в QUEUE, если посетитель напишет что-либо еще.

Наверх

случай CLOSED_BY_VISITOR

Состояние чата, когда тот был закрыт посетителем, но еще не закрыт оператором.

Из этого состояния чат может перейти либо в NONE, либо в QUEUE, если посетитель напишет что-либо еще.

Наверх

случай INVITATION

Состояние чата, когда тот был инициирован оператором.

Из этого состояния чат может перейти либо в NONE, либо в CHATTING.

Наверх

случай NONE

Означает отсутствие чата.

Из этого состояния чат может перейти либо в INVITATION, либо в QUEUE.

Наверх

случай QUEUE

Состояние чата, когда тот был инициирован посетителем.

Из этого состояния чат может перейти либо в NONE, либо в CHATTING, либо в CLOSED_BY_OPERATOR.

Наверх

случай UNKNOWN

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

Также это состояние может быть получено, если SDK не может его идентифицировать (например, на сервере появились новые значения состояния чата, которые текущая версия SDK не умеет обрабатывать).

Наверх

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

Возможные ошибки, которые могут быть переданы в параметр error метода onFailure(Message.Id id, WebimError<DataMessageError> error) интерфейса DataMessageCallback.

Наверх

случай UNKNOWN

Полученный код ошибки не поддерживается данной версией Webim Mobile SDK.

Наверх

случай QUOTED_MESSAGE_CANNOT_BE_REPLIED

Процитированное сообщение не отмечено флагом canBeReplied или флаг не стоит в значении true.

Наверх

случай QUOTED_MESSAGE_FROM_ANOTHER_VISITOR

Отправленный ID сообщения соответствует другому посетителю.

Наверх

случай QUOTED_MESSAGE_MULTIPLE_IDS

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

Наверх

случай QUOTED_MESSAGE_REQUIRED_ARGUMENTS_MISSING

Означает, что один или более аргумент реализованной на сервере системы цитирования не был отправлен.

Наверх

случай QUOTED_MESSAGE_WRONG_ID

Был отправлен неверный ID процитированного сообщения.

Наверх

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

Возможные ошибки, которые могут быть переданы в параметр error метода onFailure(Message.Id id, WebimError<SendFileError> error) интерфейса SendFileCallback.

Наверх

случай FILE_SIZE_EXCEEDED

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

Наверх

случай FILE_TYPE_NOT_ALLOWED

Означает, что тип файла не входит в число разрешенных типов, установленных в настройках сервера.

Наверх

случай UPLOADED_FILE_NOT_FOUND

Неправильный способ передачи файла.

Наверх

случай UNKNOWN

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

Наверх

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

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

Наверх

случай NO_CHAT

Возникает при попытке отправить оценку оператора, когда чата не существует.

Наверх

случай OPERATOR_NOT_IN_CHAT

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

Наверх

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

Возможные статусы сессии.

Могут быть получены с помощью метода onOnlineStatusChanged(OnlineStatus oldOnlineStatus, OnlineStatus newOnlineStatus) интерфейса OnlineStatusChangeListener.

Наверх

случай BUSY_OFFLINE

Означает, что посетитель не может отправлять сообщения вообще.

Наверх

случай BUSY_ONLINE

Означает, что посетитель может отправлять сообщения в оффлайн-зону, но сервер может их отклонить и вернуть ошибку.

Наверх

случай OFFLINE

Означает, что посетитель может отправлять сообщения в оффлайн-зону.

Наверх

случай ONLINE

Означает, что посетитель может отправлять сообщения без каких-либо ограничений.

Наверх

случай UNKNOWN

Означает, что либо SDK пока не получил первое обновление статуса сессии от сервиса Webim, либо статус сессии не поддерживается в текущей версии SDK.

Наверх

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

Возможные статусы сессии.

Наверх

случай CHAT

Состояние чата.

Наверх

случай DEPARTMENT_SELECTION

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

Сессия ожидает начало чата с помощью метода startChatWithDepartmentKey(String departmentKey).

Наверх

случай IDLE

Сессия активна, но чат пока не был начат.

Наверх

случай IDLE_AFTER_CHAT

Сессия активна, но чат был уже закрыт.

Наверх

случай OFFLINE_MESSAGE

Оффлайн.

Наверх

случай UNKNOWN

Статус еще не был получен или не поддерживается текущей версией Webim Mobile SDK.

Наверх

интерфейс MessageTracker

Интерфейс реализуются внутренними сущностями SDK. Экземпляр класса, реализующего интерфейс, может быть получен с помощью метода newMessageTracker(MessageListener listener) интерфейса MessageStream.

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

Наверх

метод getLastMessages(int limit, GetMessagesCallback callback)

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

Параметр limitOfMessages – количество следующих сообщений, не более которого должен запросить метод. Тип – int, значение может быть любым положительным больше 1 (если передано значение меньше 1, метод не выполнит никакой работы).

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

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

Выбрасывает IllegalArgumentException, если значение параметра limit меньше 1.

Выбрасывает IllegalStateException, если предыдущий аналогичный запрос или запрос getNextMessages(int limit, GetMessagesCallback callback) не был завершен, или когда объект MessageTracker был деактивирован (см. метод destroy()), или когда соответствующий объект WebimSession был деактивирован (см. метод destroy() интерфейса WebimSession).

Выбрасывает RuntimeException, если метод был вызван из потока, не являющегося потоком, в котором был создан соответствующий экземпляр WebimSession.

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

Наверх

метод getNextMessages(int limit, GetMessagesCallback callback)

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

Параметр limitOfMessages – количество следующих сообщений, не более которого должен запросить метод. Тип – int, значение может быть любым положительным больше 1 (если передано значение меньше 1, метод не выполнит никакой работы).

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

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

Выбрасывает IllegalArgumentException, если значение параметра limit меньше 1.

Выбрасывает IllegalStateException, если предыдущий аналогичный запрос или запрос getLastMessages(int limit, GetMessagesCallback callback) не был завершен, или когда объект MessageTracker был деактивирован (см. метод destroy()), или когда соответствующий объект WebimSession был деактивирован (см. метод destroy() интерфейса WebimSession).

Выбрасывает RuntimeException, если метод был вызван из потока, не являющегося потоком, в котором был создан соответствующий экземпляр WebimSession.

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

Наверх

метод getAllMessages(GetMessagesCallback callback)

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

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

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

Выбрасывает IllegalStateException, если объект MessageTracker был деактивирован (см. метод destroy()), или когда соответствующий объект WebimSession был деактивирован (см. метод destroy() интерфейса WebimSession.

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

Наверх

метод resetTo(Message message)

Объект MessageTracker хранит текущий диапазон сообщений. Вызов данного метода может «сбросить» предел, до которого объект хранит историю сообщений, до определенного сообщения.

Параметр message – сообщение, до которого необходимо «сбросить» предел хранимой истории сообщений. Тип – Message.

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

Выбрасывает IllegalStateException, если последний запрос по методу getNextMessages(int limit, GetMessagesCallback callback) не был завершен, или когда объект MessageTracker был деактивирован (см. метод destroy()), или когда соответствующий объект WebimSession был деактивирован (см. метод destroy() интерфейса WebimSession).

Выбрасывает RuntimeException, если метод был вызван из потока, не являющегося потоком, в котором был создан соответствующий экземпляр WebimSession.

Не требует предварительного вызова никаких других методов. Метод может быть вызван только после того, как предыдущее обращение к объекту MessageTracker вернуло результат, иначе метод не выполнит никакой работы.

Наверх

метод destroy()

Деактивирует текущий объект MessageTracker, после чего никакие методы интерфейса не могут быть использованы.

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

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

Выбрасывает IllegalStateException, когда объект MessageTracker был деактивирован (см. метод destroy()), или когда соответствующий объект WebimSession был деактивирован (см. метод destroy() интерфейса WebimSession).

Выбрасывает RuntimeException, если метод был вызван из потока, не являющегося потоком, в котором был создан соответствующий экземпляр WebimSession.

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

Наверх

интерфейс MessageListener

Интерфейс должен быть адаптирован каким-либо классом приложения. Методы Интерфейса вызываются при изменениях в ленте сообщений.

Наверх

метод messageAdded(Message before, Message message)

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

Важно, что вызов метода не является признаком получения именно нового сообщения: это логическая вставка сообщений в ленту. Например, при первом успешном соединении с сервером, SDK получает всю историю сообщений. Если она содержит сообщения, находящиеся в уже отображаемом в ленте временном промежутке, на каждое такое сообщение также будет вызван этот метод.

Параметр before – сообщение, до которого необходимо вставить полученное сообщение. Тип – Message. Если значение данного параметра null, полученное сообщение необходимо вставить в конце списка.

Параметр message – полученное сообщение. Тип – Message.

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

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

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

Наверх

метод messageRemoved(Message message)

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

Параметр message – удаленное сообщение. Тип – Message.

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

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

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

Наверх

метод allMessagesRemoved()

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

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

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

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

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

Наверх

метод messageChanged(Message from, Message to)

Метод вызывается при изменении какого-либо сообщения.

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

Параметр from – прежний объект сообщения. Тип – Message.

Параметр to – новый объект сообщения. Тип – Message.

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

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

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

Наверх

интерфейс Message

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

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

Объекты Message – неизменяемые. Изменения каких-либо его полей создает новый объект. На идентичность полей два объекта Message можно проверить методом equals(Object obj). Логическое соответствие объектов сообщения можно проверить, сравнив их ID (см. метод getID()).

Наверх

метод getAttachment()

С помощью этого метода можно получить вложение, если это файл, отправленный посетителем или оператором (Type FILE_FROM_OPERATOR или FILE_FROM_VISITOR).

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

Возвращает экземпляр класса MessageAttachment или null, если файл находится в процессе отправки.

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

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

Наверх

метод getData()

С помощью этого метода можно получить произвольный словарь, формируемый сервером, при использовании Type ACTION_REQUEST.

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

Возвращает словарь типа String или null, если он отсутствует.

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

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

Наверх

метод getId()

С помощью этого метода можно получить уникальный ID cообщения.

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

Возвращает ID сообщения. Тип – Message.Id.

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

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

Наверх

метод getOperatorID()

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

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

Возвращает ID оператора или null, если сообщение было отправлено не оператором. Тип – Operaror.Id.

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

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

Наверх

метод getSenderAvatarURL()

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

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

Возвращает полный URL аватара отправителя сообщения или null, если аватар отсутствует. Тип – String.

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

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

Наверх

метод getSenderName()

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

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

Возвращает имя отправителя сообщения. Тип – String.

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

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

Наверх

метод getSendStatus()

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

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

Возвращает значение перечисляемого типа SendStatus.

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

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

Наверх

метод getText()

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

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

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

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

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

Наверх

метод getTime()

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

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

Возвращает количество миллисекунд, прошедших с начала эпохи до обработки сообщения сервером. Тип – long.

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

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

Наверх

метод getType()

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

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

Возвращает значение перечисляемого типа Type.

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

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

Наверх

интерфейс Attachment

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

Интерфейс реализован внутренними сущностями SDK. Объект Attachment может быть получен в помощью метода getAttachment() интерфейса Message.

Наверх

метод getContentType()

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

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

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

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

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

Наверх

метод getFileName()

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

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

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

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

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

Наверх

метод getImageInfo()

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

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

Возвращает объект ImageInfo или null, если вложенный файл не является изображением.

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

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

Наверх

метод getSize()

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

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

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

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

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

Наверх

метод getUrl()

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

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

Возвращает URL файла вложения. Тип – String.

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

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

Наверх

интерфейс ImageInfo

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

Объект ImageInfo может быть получен с помощью метода getImageInfo() интерфейса Attachment.

Наверх

 

метод getThumbUrl()

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

int THUMB_SIZE = 300;
int width = imageInfo.getWidth();
int height = imageInfo.getHeight();
if (height > width) {
    width = (THUMB_SIZE * width) / height;
    height = THUMB_SIZE;
} else {
    height = (THUMB_SIZE * height) / width;
    width = THUMB_SIZE;
}

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

Возвращает URL для скачивания превью изображения в текстовом виде. Тип – String. Полученная ссылка действительна только для текущей сессии.

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

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

Наверх

метод getHeight()

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

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

Возвращает высоту изображения в пикселях. Тип – Int.

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

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

Наверх

метод getWidth()

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

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

Возвращает ширину изображения в пикселях. Тип – Int.

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

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

Наверх

интерфейс Message.Id

Интерфейс реализован внутренними сущностями SDK и используется для инкапсуляции уникального ID объекта Message (см. метод getId()).

Наверх

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

Используется для определения типа сообщения (см. метод getType() интерфейса Message).

Наверх

случай ACTION_REQUEST

Сообщение, содержащее словарь с произвольными данными, который будет обработан приложением исходя из определяемой клиентом логики (см. метод getData() интерфейса Message).

Наверх

случай CONTACT_REQUEST

Сообщение, содержащее просьбу оператора оставить свои контактные данные.

Наверх

случай FILE_FROM_OPERATOR

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

Наверх

случай FILE_FROM_VISITOR

Файл, отправленный посетителем.

Наверх

случай INFO

Автоматически сгенерированное на сервере системное сообщение (например, приветствие в начале чата).

Наверх

случай OPERATOR

Текстовое сообщение от оператора.

Наверх

случай OPERATOR_BUSY

Системное сообщение, указывающее на то, что оператор в данный момент занят.

Наверх

случай VISITOR

Текстовое сообщение от посетителя.

Наверх

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

Используется для определения статуса отправки сообщения (см. метод getSendStatus() интерфейса Message).

Наверх

случай SENDING

Означает любое состояние сообщения до тех пор, пока оно не будет получено, обработано и отправлено всем получателям сервером.

Наверх

случай SENT

Означает любое состояние сообщения после событий, перечисленных в описании значения SENDING.

Наверх

интерфейс Department

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

Объекты Department могут быть получены с помощью класса, реализующего интерфейс DepartmentListChangeListener, либо в результате вызова метода getDepartmentList() протокола MessageStream.

Наверх

метод getKey()

Ключ отдела необходим для начала чата с определенным отделом (метод startChatWithDepartmentKey(String departmentKey) протокола MessageStream).

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

Возвращает ключ отдела. Тип – String.

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

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

Наверх

метод getName()

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

Возвращает публичное имя отдела. Тип – String.

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

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

Наверх

метод getDepartmentOnlineStatus()

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

Возвращает онлайн-статус отдела. Тип – DepartmentOnlineStatus.

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

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

Наверх

метод getOrder()

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

Возвращает номер, представляющий порядок вывода отдела в списке. Более высокое число означает более высокий приоритет вывода отдела в списке. Тип – int.

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

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

Наверх

метод getLocalizedNames()

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

Возвращает словарь локализованных имен отдела или null. Тип – Map<String, String>. Ключ – название локали, значение – соответствующее локали название отдела.

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

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

Наверх

метод getLogoUrl()

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

Возвращает URL логотипа отдела или null. Тип – URL.

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

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

Наверх

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

Возможные статусы отдела.

Могут быть получены в результате вызова метода getDepartmentOnlineStatus() протокола Department.

Наверх

случай BUSY_OFFLINE

Оффлайн, состояние чатов превышено.

Наверх

случай BUSY_ONLINE

Онлайн, состояние чатов превышено.

Наверх

случай OFFLINE

Посетитель может отправлять оффлайн-сообщения.

Наверх

случай ONLINE

Посетитель может отправлять онлайн-сообщения.

Наверх

случай UNKNOWN

Текущий статус не поддерживается данной версией Webim Mobile SDK.

Наверх

интерфейс Operator

Объект класса, реализующего интерфейс – это абстрактное представление каждого конкретного оператора чата. Интерфейс реализован внутренними сущностями SDK.

Объекты интерфейса Operator могут быть получены в методах интерфейса CurrentOperatorChangeListener и методом getCurrentOperator() интерфейса MessageStream.

Наверх

метод getId()

Метод позволяет получить ID конкретного оператора.

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

Возвращает ID конкретного оператора. Тип – Operator.Id.

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

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

Наверх

метод getName()

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

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

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

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

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

Наверх

метод getAvatarUrl()

Метод позволяет получить URL для скачивания аватара конкретного оператора (если есть).

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

Возвращает URL для скачивания аватара конкретного оператора или null при его отсутствии. Тип – String.

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

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

Наверх

интерфейс Operator.Id

Интерфейс реализован внутренними сущностями SDK и используется для инкапсуляции уникального ID объекта Operator (см. метод getId()).

Наверх

интерфейс WebimPushNotification

Объект WebimPushNotification – это абстрактное представление конкретного push-уведомления, полученного приложением от сервиса Webim.

Интерфейс реализован внутренними сущностями SDK. Объекты WebimPushNotification могут быть получены с помощью метода parseGcmPushNotification(Bundle bundle) класса Webim.

Наверх

метод getType()

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

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

Возвращает значение перечисляемого типа NotificationType.

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

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

Наверх

метод getEvent()

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

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

Возвращает «add» (добавление информации, содержащейся в данном push-уведомлении) или «del» (добавление информации, содержащейся в данном push-уведомлении). Тип – String.

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

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

Наверх

метод getParams()

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

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

Возвращает List<String>. Возможные варианты содержания массива – см. в описании перечисляемого типа NotificationType.

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

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

Наверх

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

Значения типа указывают на тип полезной информации, заключающейся в конкретном push-уведомдлении – могут быть получены с помощью метода getType() интерфейса WebimPushNotification.

Наверх

случай CONTACT_INFORMATION_REQUEST

Означает событие, когда оператор выслал посетителю запрос контактных данных.

Словарь параметров (см. метод getParameters() интерфейса WebimPushNotification) в этом случае пустой.

Наверх

случай OPERATOR_ACCEPTED

Означает событие, когда оператор подключился к чату.

Словарь параметров (см. метод getParams() интерфейса WebimPushNotification) в этом случае содержит только одно значение – имя оператора.

Наверх

случай OPERATOR_FILE

Означает событие, когда оператор прислал файл в чат.

Словарь параметров (см. метод getParams() интерфейса WebimPushNotification) в этом случае содержит два значения – имя оператора и название файла.

Наверх

случай OPERATOR_MESSAGE

Означает событие, когда оператор прислал сообщение в чат.

Словарь параметров (см. метод getParams() интерфейса WebimPushNotification) в этом случае содержит два значения – имя оператора и текст сообщения.

Наверх

случай WIDGET

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

Словарь параметров (см. метод getParams() интерфейса WebimPushNotification) в этом случае пустой.

Наверх

интерфейс FatalErrorHandler

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

Наверх

метод onError(WebimError<FatalErrorType> error)

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

Параметров error фатальная ошибка сервиса Webim. Тип – WebimError<FatalErrorType>.

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

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

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

Наверх

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

Соответствует значениям возможных фатальных ошибок, которые могут возникать в работе сервиса Webim (см. метод getErrorType() интерфейса WebimError).

Наверх

случай ACCOUNT_BLOCKED

Означает, что аккаунт клиент в сервисе Webim заблокирован (например, за неуплату).

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

Наверх

случай PROVIDED_VISITOR_EXPIRED

Означает, что предоставленные при создании сессии пользовательские данные (см. методы setVisitorFieldsJson(String visitorFieldsJson) и setVisitorFieldsJson(JsonObject visitorFieldsJson) класса SessionBuilder) более недействительны.

Предлагаемое поведение приложения – генерирование новых пользовательских данных и создание нового экземпляра сессии.

Наверх

случай UNKNOWN

Означает возникновение какой-либо неожиданной и недокументированной ошибки.

Наверх

случай VISITOR_BANNED

Возникает, когда пользователь с переданными данными (см. методы setVisitorFieldsJson(String visitorFieldsJson) и setVisitorFieldsJson(JsonObject visitorFieldsJson) класса SessionBuilder) был по какой-либо причине заблокирован оператором.

Наверх

случай WRONG_PROVIDED_VISITOR_HASH

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

Наверх

интерфейс WebimError<T extends Enum>

Интерфейс реализуется внутренними сущностями SDK. Объекты WebimError передаются в параметр error метода onError(WebimError<FatalErrorType> error) интерфейса FatalErrorHandler.

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

Наверх

метод getErrorType()

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

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

Возвращает значение соответствующего типа T.

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

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

Наверх

метод getErrorString()

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

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

Возвращает текстовое представление возникшей ошибки. Тип – String.

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

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

Наверх

интерфейс WebimLog

Интерфейс, предоставляющий методы для реализации «логирования» сетевой активности Webim Mobile SDK.

Механизм может быть полезен, например, при «дебаге» «продакшен»-релизов, в которых не доступны «дебаг»-логи.

Наверх

метод log(String log)

Метод, который вызывается автоматически при выходе новой записи для лога сетевой активности Webim Mobile SDK.

Параметр log новая запись для лога. Тип – String.

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

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

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

Наверх

 

Назад