SigmaClient.getUserExperimentsDetails
Использование
Без использования kotlin.coroutines
import ru.expf.sigma.Sigma
import ru.expf.sigma.SigmaGetUserExperimentDetailsCallback
...
val client = Sigma.getClient()
client.getUserExperimentsDetails(
callback = object : SigmaGetUserExperimentDetailsCallback {
override fun onSuccess(experimentsDetails: List<SigmaExperimentDetails>) {
/** Some code with received experimentsDetails */
}
override fun onError(throwable: Throwable) {
/** Some code with received error */
}
}
)
С использованием kotlin.coroutines
import ru.expf.sigma.Sigma
...
async {
val client = Sigma.getClient()
val experimentsDetails = client.getUserExperimentsDetails()
}.await()
Возвращает список всех экспериментов, каждый элемент которого представляет собой объект с деталями эксперимента. Если пользователь не участвует в экспериментах, возвращается пустой список.
Параметры
- callback - необязательный параметр при использовании suspend версии метода, объект
интерфейса
SigmaGetUserExperimentDetailsCallback
реализующий его методыonSuccess()
иonError()
.
Данный метод возвращает массив объектов интерфейса SigmaExperimentDetails, которые реализуют его следующие поля и методы:
- поле
group
- объект, реализующий интерфейсSigmaExperimentDetails.Group
, он содержит информацию о группе пользователя (на данный момент этот объект имеет только полеindex
типаInt
) - поле
id
- идентификатор эксперимента типаString
- поле
results
- массив объектов, реализующих интерфейсSigmaExperimentDetails.Result
. Объекты содержат в себе информацию о параметрах или фича флагах пользователя (на данный момент объекты имеют только поляname
иvalue
типаString
) - поле
type
- тип эксперимента типаString
. Может принимать значенияholdout
,featureFlag
,parameter
- метод
getResult()
- принимают название параметра или фича флага эксперимента, возвращают его значение преобразованное в указанный тип (Float
,Long
,Int
,Double
,String
,Boolean
), (JSON-класс - см.SigmaJsonAdapter
) илиnull