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

getInstance()

Чтобы использовать BotProtection, достаточно создать экземпляр класса BotProtection:

val botProtection = BotProtection.getInstance()

start()

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

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

 class ApplicationExample: Application() {

    val botProtection by lazy {
        BotProtection.getInstance()
    }
    
    override fun onCreate() {
        super.onCreate()
        
        botProtection
            .sendUUID("uuid")
            .start()
    }
    
    // ...
}

Сначала необходимо создать экземпляр BotProtection:

val botProtection by lazy {
    BotProtection.getInstance()
}

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

botProtection
    .sendUUID("uuid")
    .start()

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

sendUUID()

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

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

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

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

botProtection.sendUUID("uuid")

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

botProtection
    .sendUUID("uuid")
    .start()

stop()

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

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

 botProtection
   .setMode(Mode.NO_TOKEN) \\ or Mode.WITH_TOKEN
   .setListener(botProtectionListener)
   .stop()

Команда

Результат

NO_TOKEN

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

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

WITH_TOKEN

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

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

setListener()

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

.setListener(object : BotProtectionListener {
    override fun onSuccess(botProtectionResult: BotProtectionResult) {
		    Log.i(TAG, "challengeId: ${botProtectionResult.challengeId}, "
		            + "token: ${botProtectionResult.token}")
    }

    override fun onError(result: BotProtectionError) {
        Log.e(TAG, botProtectionError.name)
    }
})

Команда

Описание

challengeId

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

token

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

В BotProtectionResult присутствует два метода getChallengeId() иgetToken() необходимых для получения информации из проверки.

getToken() возвращает значение только при режиме WITH_TOKEN

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

Значение

Описание

CONNECTION_ERROR

Ошибка подключения

INVALID_DATA

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

BP_KEY_NAME_NOT_FOUND

ApiKey не найден в метаданных

BP_KEY_NAME_NULL_POINTER

ApiKey равен NULL

BP_KEY_INCORRECT

ApiKey неправильно записан, скопируйте его снова из консоли

UNKNOWN

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

Last updated