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