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

SigmaClient.getAllUserHoldouts

func getAllUserHoldouts(onSuccess: SigmaSuccessCallback<String?>?, onError: SigmaErrorCallback?)

func getAllUserHoldouts() async throws -> String?

Метод возвращает строку вида "holdoutId.userGroupIndex|holdoutId.userGroupIndex|...", где holdoutId - идентификатор холдаута и userGroupIndex индекс группы пользователя в холдауте. Если пользователь не попал ни в один холдаут, метод вернет nil.

Параметры

NameTypeRequiredDefaultDescription
onSuccessSigmaSuccessCallback String ?ДаТолько для callback версии метода. Closure со строкой вида "holdoutId.userGroupIndex|holdoutId.userGroupIndex|...", где holdoutId - идентификатор holdout-эксперимента, userGroupIndex индекс группы пользователя в holdout-эксперименте (всегда 0). Возвращает nil, если пользователь не попал ни в один holdout-эксперимент.
onErrorSigmaErrorCallback?ДаТолько для callback версии метода. Closure, содержащая в себе ошибку при запросе holdout-экспериментов, в которые попал пользователь

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

TypeDescription
String?Только для async-await версии метода. Строка вида "holdoutId.userGroupIndex|holdoutId.userGroupIndex|...", где holdoutId - идентификатор holdout-эксперимента, userGroupIndex индекс группы пользователя в holdout-эксперименте (всегда 0). Возвращает nil, если пользователь не попал ни в один holdout-эксперимент.

Ошибки

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