SigmaClient.getHoldout
func getHoldout(name: String, onSuccess: SigmaSuccessCallback<Bool>?, onError: SigmaErrorCallback?)
func getHoldout(name: String) async throws -> Bool
Метод проверяет, попал ли пользователь в холдаут с заданным идентификатором.
При попадании пользователя в холдаут метод вернет true
иначе false
.
Параметры
Name | Type | Required | Default | Description |
onSuccess | SigmaSuccessCallback Bool ? | Да | Только для callback версии метода. Closure со значением типа Bool , попал ли пользователь в holdout-эксперимент с заданным идентификатором или нет. | |
onError | SigmaErrorCallback? | Да | Только для callback версии метода. Closure, содержащая в себе ошибку при запросе, попал ли пользователь в holdout-эксперимент с заданным идентификатором или нет. |
Возвращаемое значение
Type | Description |
Bool | Только для async-await версии метода. Значение типа Bool , попал ли пользователь в holdout-эксперимент с зада нным идентификатором или нет. |
Ошибки
Error | Description |
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 {
// Обработка ошибки
}