sigma-client-get-experiment
SigmaClient.getExperiment
func getExperiment(name: String, onSuccess: SigmaSuccessCallback<SigmaExperiment?>?, onError: SigmaErrorCallback?)
func getExperiment(name: String) async throws -> SigmaExperiment?
Получает эксперимент, в который попал пользователь, по названию эксперимента.
Параметры
Name | Type | Required | Default | Description |
name | String | Да | Название эксперимента | |
onSuccess | SigmaSuccessCallback? | Да | Только для callback версии метода. Closure, содержащая в себе эксперимент, в который попал пользователь, или nil, если пользователь не попал в эксперимент | |
onError | SigmaErrorCallback? | Да | Только для callback версии метода. Closure, содержащая в себе ошибку при запросе эксперимента |
Возвращаемое значение
Type | Description |
SigmaExperiment? | Только для async-await версии метода. Эксперимент, в который попал пользователь, или nil, если пользователь не попал в эксперимент |
Ошибки
Error | Description |
SigmaError.requestConfigFailed | Ошибка запроса конфигурационного файла. Содержит в себе объект SigmaNetworkError с более детальной информацией об ошибке |
SigmaError.requestLocationFailed | Ошибка запроса геолокации. Содержит в себе объект SigmaNetworkError с более детальной информацией об ошибке |
Использование
import SigmaSDK
guard let client = Sigma.getClient() else { return }
// Callback версия
client.getExperiment(
name: "my_first_experiment",
onSuccess: { experiment in
// Обработка эксперимента
},
onError: { error in
// Обработка ошибки
}
)
// Async-await версия
do {
let userExperiment = try await client.getExperiment(name: "my_first_experiment")
// Обработка эксперимента
} catch let error {
// Обработка ошибки
}
Дополнительная информация
Данные методы возвращают только те эксперименты, в которые попал пользователь.