Использование SDK

Импорт библиотеки

В файлы, из которых идет обращение к BotProtection, необходимо импортировать библиотеку

import BotProtection

configure(withApiKey apiKey: String)

Перед использованием библиотеки необходимо настроить API Key

BotProtection.configure(withApiKey: "your-bp-api-key-here")

start()

Чтобы начать сбор данных для идентификации ботов и отправки их на сервер, вам нужно вызвать функцию start().

Вот пример метода start(), при котором BotProtection SDK активируется и начинает собирать данные в момент запуска приложения:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        BotProtection.configure(withApiKey: "your-bp-api-key-here")
        BotProtection.sendUUID("user-uuid")
        BotProtection.start()
        return true
}

Сначала нужно сконфигурировать экземпляр BotProtection:

BotProtection.configure(withApiKey: "your-bp-api-key-here")
BotProtection.sendUUID("user-uuid")

Чтобы начать сбор данных, используйте:

BotProtection.start()

BotProtection собирает данные до тех пор, пока не произойдет метод stop().

sendUUID(_ uuid: String)

Метод sendUUID принимает значение типа String.

UUID - это уникальный идентификатор пользователя, который позволяет соотносить пользователей с анонимными проанализированными пользователями в системе.

UUID может генерироваться независимо или отправлять зашифрованный идентификатор, связанный с пользователем.

Примечание: Этот метод необходимо вызывать в момент входа пользователя в учетную запись и перед вызовом метода stop(), который полностью остановит SDK.

BotProtection.sendUUID("user-uuid")

Если UUID известен во время выполнения start(), вы можете запустить библиотеку следующим образом, сначала сообщив UUID:

BotProtection.configure(withApiKey: "your-bp-api-key-here")
BotProtection.sendUUID("user-uuid")
BotProtection.start()

stop(needToken: Bool, _ completion: @escaping (_ challengeID: String?, _ token: String?, _ error: BPError?) -> Void)

Метод stop() следует вызывать, если необходимо полностью остановить сбор данных, отключить BotProtection и немедленно отправить данные на сервер.

Примечание: Чтобы снова начать сбор данных и отправку их на анализ, необходимо вызвать start().

BotProtection.stop(needToken: true/false) { [weak self] (challengeId, token, error) in
    guard let self = self else { return }
    
    // process error here
    // process challengeId
    // process token (if needToken = true)
}

Параметр

Результат

needToken = false

Включается режим NoToken, который отправляет данные на BotProtection machine и останавливает библиотеку.

Этот режим полезен, когда вам нужно проанализировать трафик из вашего приложения.

needToken = true

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

Например, такой подход используется используется в процессе создания нового пользователя на клиенте.

Параметры completion

Параметр

Описание

challengeId

Уникальный идентификатор для подтверждения пользователя, который можно отправить на сервер для получения результатов (не обязательно, поскольку вы можете получить результат по UUID)

token

Принимается, если используется режим needToken = true. Используется для активного препятствия ботам

error

Ошибка при отправке данных

BPError может содержать следующие значения:

Значение

Описание

invalidData

Ошибка обработки данных

unknown

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

Last updated