VK Cloud logo

Справочник SDK для iOS

Системные требования

  • iOS версии 12 и выше;
  • Xcode версии 16.2 и выше;
  • Swift Package Manager версии 5.9 и выше;
  • CocoaPods версии 1.13 и выше.

Инициализировать капчу

Конфигурационный объект VKCaptchaConfiguration(url:) передает ссылку для запуска виджета капчи, полученную в параметре link в ответе метода GET /captchaNotRobot.createSession.

Параметры метода:

Параметр

Обязательный

Тип

Описание

url

Справочник SDK для iOS

URL

Ссылка для запуска виджета капчи во фронтенде вашего приложения, полученная в параметре link в ответе метода GET /captchaNotRobot.createSession. Содержит сессионный токен и метаданные:

  • domain — домен, на котором будет использована капча;
  • session_token — сессионный токен;
  • variant — вид отображения капчи (block или popup)

Пример вызова конфигурации:

VKCaptchaConfiguration(url: captchaUrl)

Отобразить капчу

Метод VKCaptcha.getCaptchaViewController(completion:) отображает капчу пользователю в iOS-приложении. Капча отображается как UIViewController и интегрируется в навигацию приложения.

Параметры метода:

Параметр

Обязательный

Тип

Описание

completion

Справочник SDK для iOS

(Result<String, Error>) -> Void

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

  • success(token) — токен успешного прохождения капчи;
  • failure(error) — ошибка, если пользователь закрыл окно капчи

Пример вызова метода:

captcha.getCaptchaViewController { [weak self] result in   switch result {      case .success(let token):         self?.repeatRequest(with: token)      case .failure:              // Обработка закрытия капчи              break   }

Закрыть капчу

Метод VKCaptcha.closeCaptcha(animated:completion:) закрывает виджет капчи.

Параметры метода:

Параметр

Обязательный

Тип

Описание

animated

Справочник SDK для iOS

boolean

Признак анимации закрытия капчи. Значение по умолчанию — true

completion

Справочник SDK для iOS

() -> Void

Функция обратного вызова (callback) после закрытия капчи

Пример вызова метода:

captcha.closeCaptcha(animated: true) {    print("Captcha closed")}