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