Перейти к основному содержимому
Версия: 5.1.0

Управление пользователем

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

Для установки пользователя и управления им, в SDK есть несколько методов:

Установка пользователя

Метод для установки пользователя чата в ChatCenterUI SDK:

func authorize(user: ChatUser, auth: ChatAuth = ChatAuth())

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

Параметры:

  • user: Объект ChatUser, содержащий информацию о пользователе. (обязательный параметр)
  • auth: Настройки авторизации (если используется кастомный способ, это обговаривается при интеграции).

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

// Создание модели пользователя
let chatUser = ChatUser(identifier: "user_uuid",
name: "Иван Иванов",
data: ["email": "ivan.ivanov@example.ru"])

// Установка пользователя в СДК
chatCenterSDK.authorize(user: chatUser)

Логаут пользователя

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

func logout() throws

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

Выбрасывает: Ошибки, если произошла проблема при логауте.

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

do {
try chatCenterSDK?.logout()
// Пользователь успешно вышел
} catch {
print("Ошибка при выходе: \(error)")
}

Удаление пользователя

В случае необходимости локального удаления пользователя (например, пользователь выходит из авторизацинной зоны на экран ввода пин кода) можно использовать метод:

func deauthorizeUser()

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

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

chatCenterSDK?.deauthorizeUser()