Node.js sdk
При создании экземпляра класса Sigma нужно передать парамет ры конфигурации.
token: string
обязательный параметр, который можно получить из админ-панели при подключении проекта.
Объект userData: {}
необязательный параметр. Объект с пользовательскими данными. SDK целиком и полностью полагаются на предоставленные данные (методы по раздаче эксперимента, фича-флагов и т.п.) Подробнее....
cacheTTL: number
необязательный параметр. Метка времени (по умолчанию 10 секунд), указывает через какой промежуток времени обновить данные. Измеряется в секундах. Меньше 10 поставить нельзя, если указать число меньше 10, значение будет взято по умолчанию.
Полный пример:
const Sigma = require('expf-sigma-node.js').default;
const token = <TOKEN>;
const userData = {
userId: 'id',
email: 'example@email',
appVersion: '1.0.1',
ip: '70.123.12.84',
custom:{ cookieKey: '1', isActive: false }
};
const cacheTtl = 300;
const options = {
postfix: 'default',
};
const sigma = new Sigma(token, userData, cacheTtl, options);
Методы Sigma
sigma | создает экземпляр класса, настраивает параметры конфигурации |
sigma.checkFlag | возвращает значение эксперимента по ФФ или значение фича флага |
sigma.getExperiment | определяет группу в которую попал пользователь в эксперименте (не вызывается отдельно) |
getParamValue | возвращает значение фича флага в экспериментах по параметрам |
getFeatureValue | возвращает значение фича флага в экспериментах по фича флагам |
sigma.getAllUserExperiments | возвращает названия всех экспериментов и индекс группы в которую попал пользователь |
sigma.editUserProperties | позволяет изменять или удалять свойства userData. Этот метод содержит цепочку вызовов, в которой необходимо вызывать следующий метод для выполнения операций над свойствами userData |
sigma.clearUserProperties | позволяет удалить часть свойств userData |
Все методы (кроме sigma.editUserProperties() sigma.clearUserProperties()) выполняются асинхронно. Сначала происходит проверка наличия конфига в хранилище. Если конфига нет, то он добавляется. Если конфиг уже существует, то происходит проверка временной метки последнего обновления конфига. При необходимости выполняется запрос и конфига обновляется. Это позволяет сократить количество запросов к API при использовании более чем одного метода Sigma в документе.