Перейти к основному содержимому

SigmaClient.getHoldout

func getHoldout(name: String, onSuccess: SigmaSuccessCallback<Bool>?, onError: SigmaErrorCallback?)

func getHoldout(name: String) async throws -> Bool

Метод проверяет, попал ли пользователь в холдаут с заданным идентификатором. При попадании пользователя в холдаут метод вернет true иначе false.

Параметры

NameTypeRequiredDefaultDescription
onSuccessSigmaSuccessCallback Bool ?ДаТолько для callback версии метода. Closure со значением типа Bool, попал ли пользователь в holdout-эксперимент с заданным идентификатором или нет.
onErrorSigmaErrorCallback?ДаТолько для callback версии метода. Closure, содержащая в себе ошибку при запросе, попал ли пользователь в holdout-эксперимент с заданным идентификатором или нет.

Возвращаемое значение

TypeDescription
BoolТолько для async-await версии метода. Значение типа Bool, попал ли пользователь в holdout-эксперимент с заданным идентификатором или нет.

Ошибки

ErrorDescription
SigmaError.requestConfigFailedОшибка запроса конфигурационного файла. Содержит в себе объект SigmaNetworkError с более детальной информацией об ошибке
SigmaError.requestLocationFailedОшибка запроса геолокации. Содержит в себе объект SigmaNetworkError с более детальной информацией об ошибке
SigmaError.holdoutNotFoundОшибка поиска holdout-эксперимента с заданным идентификатором.

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

import SigmaSDK

guard let client = Sigma.getClient() else { return }

// Callback версия
client.getHoldout(
name: "my_first_holdout",
onSuccess: { isInHoldout in
// Обработка информации, попал ли пользователь в holdout-эксперимент
},
onError: { error in
// Обработка ошибки
}
)

// Async-await версия
do {
let holdout = try await client.getHoldout(name: "my_first_holdout")
// Обработка информации, попал ли пользователь в holdout-эксперимент
} catch let error {
// Обработка ошибки
}