JavaScript Client SDK
Установка SDK
- Script
- NPM
- Yarn
<script src="https://api.expf.ru/sigma.min.js"></script>
npm install expf-sigma.js
yarn add expf-sigma.js
Инициализация SDK
После установки вам нужно инициализировать SDK с помощью токена.
Токены предназначены для встраивания SDK в приложения. При необходимости вы можете отозвать текущий токен или создать новые проекты для SDK.
import Sigma from 'expf-sigma.js';
const token = '<TOKEN>';
const sigma = new Sigma();
Создание экземпляра класса Sigma
Создайте экземпляр класса Sigma, используйте метод init для инициализации sigma и передайте токен.
import Sigma from 'expf-sigma.js';
const token = '<TOKEN>';
const sigma = new Sigma();
sigma.init({ token });
userData
userData — объект с пользовательскими данными.
SDK полностью полагается на предоставленные данные (методы по раздаче эксперимента, фича-флагов и т.п.). Подробнее...
При инициализации SDK следует передавать объект userData с как можно большим количеством данных,
чтобы воспользоваться преимуществами расширенных условий и конфигураций (например, проверки на уровн е страны или ОС/браузера).
Расчёт соли и прочего происходит по полю, указанному в split_by.
const userData = {
userId: 'userId', // например, clientId из счетчика google analytics
profileId: 'profileId', // например, ID пользователя при регистрации
deviceId: 'deviceId', // например, ID устройства с которого зашел пользователь
email: 'example@mail.ru',
deviceCategory: 'mobile',
custom: {
new_user: true,
level: 2
}
}
sigma.init({ token, userData })
В процессе взаимодействия с приложением можно легко изменять или удалять свойства
userData без необходимости дополнительной инициализации Sigma.
- Метод
editUserProperties()позволяет изменять или удалять свойстваuserData. Этот метод использует цепочку вызовов, в которой необходимо вызывать следующий метод для выполнения операций над свойствамиuserData. Подробнее > - Метод
clearUserProperties()позволяет удалить часть свойствuserData. Подробнее >
cacheTTL
cacheTTL?: number
Необязательный параметр, задающий промежуток времени, через который данные в кэше будут считаться устаревшими и потребуют обновления. Значение по умолчанию: 10 секунд.
Минимально допустимое значение — 10 секунд. Если передано значение меньше 10, будет автоматически использовано значение по умолчанию.
Пример:
const cacheTTL: number = 60;
sigma.init({ token, userData, cacheTTL });
fetchTimeout
С версии v3.7.3 и выше
fetchTimeout?: number
Необязательный параметр, задающий максимальное время ожидания ответа от сервера. Значение по умолчанию: 5000 мс.
Минимально допустимое значение — 500 мс. Если передано значение меньше 500, будет автоматически использовано значение по умолчанию (5000 мс).
Пример:
const fetchTimeout: number = 3000;
sigma.init({ token, userData, fetchTimeout });