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

sigma-client-get-experiment

SigmaClient.getExperiment

func getExperiment(name: String, onSuccess: SigmaSuccessCallback<SigmaExperiment?>?, onError: SigmaErrorCallback?)

func getExperiment(name: String) async throws -> SigmaExperiment?

Получает эксперимент, в который попал пользователь, по названию эксперимента.

Параметры

NameTypeRequiredDefaultDescription
nameStringДаНазвание эксперимента
onSuccessSigmaSuccessCallback?ДаТолько для callback версии метода. Closure, содержащая в себе эксперимент, в который попал пользователь, или nil, если пользователь не попал в эксперимент
onErrorSigmaErrorCallback?ДаТолько для callback версии метода. Closure, содержащая в себе ошибку при запросе эксперимента

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

TypeDescription
SigmaExperiment?Только для async-await версии метода. Эксперимент, в который попал пользователь, или nil, если пользователь не попал в эксперимент

Ошибки

ErrorDescription
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 {
// Обработка ошибки
}

Дополнительная информация

Данные методы возвращают только те эксперименты, в которые попал пользователь.