Есть несколько способов сделать это в зависимости от варианта использования.Полная подпись API isFeatureEnabled
выглядит следующим образом:
isFeatureEnabled(feature_key, userId, attributes)
, где в целом:
isFeatureEnabled(
'my_feature', // feature key identifier linking feature to Optimizely UI
'123', // userId parameter used as input to random bucketing
{ 'organizationId': '789' } // attributes used for non-random targeting
)
-
Вариант использования 1 : если вы хотите вручную выбрать один за другим, для какой организации будет включена эта функция, вам следует использовать таргетинг на аудиторию с помощью атрибутов.
Вы можете передать в качестве атрибута OrganizationId инастроить аудиторию для таргетинга на всех посетителей этой организации.
isFeatureEnabled('my_feature', '123', { organizationId: '789' } ); // User 123
isFeatureEnabled('my_feature', '456', { organizationId: '789' } ); // User 456
Инструкции по настройке атрибутов и аудиторий в пользовательском интерфейсе Optimizely для этого варианта использования приведены в этой статье документации .
Использование атрибутов и аудиторий позволяет вам включать или отключать функцию для конкретных организаций по одному.Тем не менее, этот подход не позволяет вам случайным образом откатиться до процента возможных организационных идентификаторов или выполнить A / B-тестирование случайной выборки организационных идентификаторов.
-
ИспользованиеСлучай 2 : Если вы хотите запустить развертывание на случайной выборке из OrganizationIds или запустить A / B-тест, в котором случайный набор организаций получает особый опыт, вы должны передать значение OrganizationId в качестве параметра userId API-интерфейсу isFeatureEnabled:
isFeatureEnabled('my_feature', '789'); // User 123
isFeatureEnabled('my_feature', '789'); // User 456
Параметр userId для isFeatureEnabled
используется для случайного размещения пользователя.Поскольку userId может принимать любую строку, использование OrganizationId в этом случае гарантирует, что оба пользователя 123 и 456. будут объединены в один и тот же интерфейс.
-
Вариант использования 3 : если вы хотите иметь возможность выполнять A / B-тестирование в разных организациях, но при этом иметь возможность ориентироваться только на определенные организации, вам следует объединить методы двух указанных выше способов, как показано ниже:
isFeatureEnabled('my_feature', '789', { companyId: '789' } ); // User 123
isFeatureEnabled('my_feature', '789', { companyId: '789' } ); // User 456
Этот способ позволяет вам вручную (а не случайным образом) выбирать один за другим, какой клиент должен видеть опыт или иметь право на эксперимент, а также позволяет выполнять развертывание в произвольном порядке в разных организациях или запуск A / B-теста в разных организациях..