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