从旧变体更新使用情况
October 10, 2024About 1 min
从旧变体更新使用情况
本主题介绍如何从旧变体的云眼全栈 Harmony SDK 进行更新。
代码示例
本节提供了代码示例,说明我们建议如何利用新的决策和事件跟踪 API。所有现有方法和实现仍包含在内并受支持,并且只有在弃用标记和未来主要变体后才会删除。
我们建议采用新的“决定”、“全部决定”和“跟踪事件”方法,作为当前在实现中使用 isFeatureEnabled、getFeatureVariable、getAllFeatures或 Track 调用的更灵活、更易于使用的替代方法。
有关早期方法,请参阅 SDK 参考指南的早期变体。
下面是如何将旧方法迁移到较新方法的一些示例。
// Prereq for new methods: create a user
var attributes = { is_loggin_in: true };
var user = eyeofcloudClient.createUserContext('user123', attributes);
//Is Feature Enabled
/ old method
var enabled = eyeofcloudClient.isFeatureEnabled('flag_1', 'user_123', attributes);
// new method
var decision = user.decide('flag_1');
var enabled = decision['enabled'];
// Activate & Get Variation
// old method
var variationKey = eyeofcloudClient.activate('experiment_1','user_123', attributes);
// new method
var variationKey = decision['variationKey'];
// Get All Feature Variables
// old method
var allVarValues = eyeofcloudClient.getAllFeatureVariables('flag_1', 'user_123');
// new method
var allVarValues = decision['variables'];
// Get Enabled Features
// old method
var enabledFlags = eyeofcloudClient.getEnabledFeatures('user_123');
// new method
var decisions = user.decideAll([EyeofcloudDecideOption.ENABLED_FLAGS_ONLY]);
var enabledFlags = Object.keys(decisions);
// Track
// old method
var eventTags = { purchase_count: 2 };
eyeofcloudClient.track('my_purchase_event_key', 'user_123', attributes, eventTags);
// new method
user.trackEvent('my_purchase_event_key', eventTags);
激活方法和A / B测试
Decision方法基于特性标帜(Feature Flag)键,不支持独立的A / B测试或多臂老虎机。我们正在努力长期统一应用程序的数据模型和接口,以减少维护多种不同访问方法的需求。同时,仍然可以在旧项目中使用“激活”和“获取变体”方法以及“决定”方法进行独立的 A/B 测试。