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

sigma-experiment-get-param-value

SigmaExperiment.getParamValue

func getParamValue<T: SigmaPropertyType>(name: String) -> T?

Получает значение параметра пользовательского эксперимента по имени параметра. Параметр может быть одного следующих из типов: Bool, Int, Double, String или [String: Any].

Параметры

NameTypeRequiredDefaultDescription
nameStringДаИмя параметра

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

TypeDescription
Bool? / Int? / Double? / String? / [String: Any]?Значение параметра пользовательского эксперимента, или nil, если пользователь не попал в эксперимент или если нельзя привести значение к выбранному типу

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

import SigmaSDK

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

// Callback версия
client.getUserExperiment(
name: "my_first_experiment",
onSuccess: { experiment in
let myValue: Double? = experiment.getParamValue(name: "my_param")
// Обработка значения параметра
},
onError: { error in
// Обработка ошибки
}
)

// Async-await версия
do {
let userExperiment = try await client.getUserExperiment(name: "my_first_experiment")
let myValue: Double? = userExperiment?.getParamValue(name: "my_param")
// Обработка значения параметра
} catch let error {
// Обработка ошибки
}

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

Данный метод может вернуть nil в случае, если пользователь не попал в эксперимент, либо если данный параметр не содержит варианта, соответствующего группе, в которую попал пользователь, либо если был выбран неправильный тип данных (например, попытка получить параметр со значением Int, когда на самом деле он String)