Skip to main content
Skip table of contents

VMSPusherApi. Сокет

Использует версию com.pusher:pusher-java-client:2.0.2 с некоторыми исправлениями для целей VMSMobileSDK.

Мы поддерживаем minSdk 23–6 Android. Версия 2.4.4 для Android 7 и выше.

https://github.com/pusher/pusher-websocket-java

Инициализация VMSPusherApi.kt

CODE
VMSMobileSDK.pusherApi.Builder(
    socketUrl: String,
    appKey: String,
    userToken: String,
    userId: Int,
    accessTokenId: String)

socketUrl — указанный базовый URL, URL сокета для подключения к WebSocket. См. SocketApi, чтобы узнать, как получить эту информацию.

appKey — ключ приложения для подключения к WebSocket. См. SocketApi, чтобы узнать, как получить эту информацию.

userToken — токен текущего пользователя.

userId — идентификатор текущего пользователя.

accessTokenId — идентификатор токена доступа текущего пользователя

Одноэлементный объект VMSPusherApi

onConnect() — используйте эту функцию для подключения к WebSocket.

onDisconnect() — используйте эту функцию для отключения от WebSocket.

VMSSocketEvents.kt

vmsLogoutSocket — если пользователь вышел из системы (например, сеанс был удален).

vmsCamerasSocket — если список камер был обновлен для этого пользователя.

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

vmsPermissionsSocket — если список разрешений был обновлен для этого пользователя.

vmsMarksSocket — в случае создания, обновления, удаления меток/событий камеры.

vmsArchiveLinkSocket — если URL загрузки архива был сгенерирован успешно.

vmsIntercomKeySocket — в случае подтверждения ключа внутренней связи или ошибок.

vmsIntercomSocket — в случае сохранения, переименования, обновления или удаления домофона.

vmsVisitorSocket — в случае добавления или удаления кода нового посетителя.

vmsVisitHistorySocket — если звонок был добавлен или удален из истории звонков.

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

vmsErrorSocket — в случае, если произошла ошибка сокета и необходимо вызвать getSocketUrl(), то в случае успешного перестроения pusher-socket и повторного подключения используйте этот код:

CODE
VMSMobileSDK.pusherApi.Builder(
    getSocketUrlFull(),
    getAppKeyFull(),
    userStorage.token,
    userStorage.userData?.id ?: 0,
    userStorage.userData?.access_token_id ?: "",
).apply {
    VMSMobileSDK.pusherApi.isNeedReconnectSocket = false
    VMSMobileSDK.pusherApi.onConnect()
}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.