sigma-experiment-get-feature-value
SigmaExperiment.getFeatureValue
func getFeatureValue<T: SigmaPropertyType>(flagName: String) throws -> T?
Получает значение Feature Flag внутри пользовательского эксперимента по имени Feature Flag. Результат может быть одного следующих из типов: Bool, Int, Double, String или [String: Any].
Параметры
| Name | Type | Required | Default | Description | 
| flagName | String | Да | Название Feature Flag в эксперименте | 
Возвращаемое значение
| Type | Description | 
| Bool? / Int? / Double? / String? / [String: Any]? | Значение Feature Flag, или nil, если пользователь не попал в эксперимент или если нельзя привести значение к выбранному типу | 
Ошибки
| Error | Description | 
| SigmaError.experimentGroupNotMatchingFeatureFlagGroup | Feature Flag в эксперименте не содержит группы с таким же названием, как и группа эксперимента, в которую попал пользователь | 
Использование
import SigmaSDK
guard let client = Sigma.getClient() else { return }
// Callback версия
client.getExperiment(
    name: "my_first_experiment",
    onSuccess: { experiment in
        let myValue: Double? = experiment.getFeatureValue(flagName: "my_feature_flag")
        // Обработка значения Feature Flag
    },
    onError: { error in
        // Обработка ошибки
    }
)
// Async-await версия
do {
    let userExperiment = try await client.getExperiment(name: "my_first_experiment")
    let myValue: Double? = experiment.getFeatureValue(flagName: "my_feature_flag")
    // Обработка значения Feature Flag
} catch let error {
    // Обработка ошибки
}
Дополнительная информация
Данный метод может вернуть nil в случае, если пользователь не попал в эксперимент, либо если данный Feature Flag не содержит варианта, соответствующего группе, в которую попал пользователь, либо если был выбран неправильный тип данных (например, попытка получить Feature Flag со значением Int, когда на самом деле он String)