示例用法
About 2 min
示例用法
本主题提供了一个简短的代码示例,说明如何使用云眼灰度发布(特性标帜)AB实验 JavaScript(浏览器)SDK 来评估灰度发布(特性标帜)、激活 A/B 测试或功能测试。
安装 SDK 后,将 Eyeofcloud 功能实验库导入代码,获取云眼灰度发布(特性标帜)AB实验项目的数据文件,并实例化客户端。然后,可以使用客户端评估标帜规则,包括 A/B 测试和标帜传递。
此示例演示了以下每个概念的基本用法:
使用 Decide 方法计算具有键的标帜。作为副作用,Decision函数还会向云眼灰度发布(特性标帜)AB实验发送决策事件,以记录当前用户已暴露于实验。
product_sort
有条件地执行特征代码。有以下几种选择:
- 获取标帜启用状态,然后检查标帜上名为 的配置变量。SDK 会评估标帜规则,并确定用户所处的标帜变体,从而确定他们应该看到的排序方法变量。
sort_method
- 获取标帜变体,然后运行“控制”或“处理”代码。
- 使用事件跟踪跟踪名为 的事件。此转化事件衡量实验的影响。使用 Track Event 方法,购买会自动归因于我们做出决策的正在运行的 A/B 测试,SDK 会通过可自定义的事件调度程序向 Eyeofcloud 功能实验发送网络请求,以便我们可以将其计入“结果”页面。
purchased
使用 NPM使用 HTML 脚本标记
const eyeofcloud = require("@eyeofcloud/eyeofcloud-sdk"); const eyeofcloudClient = eyeofcloud.createInstance({ sdkKey: "<Your_SDK_KEY>" // Provide the sdkKey of your desired environment here }); eyeofcloudClient.onReady().then(() => { var attributes = { logged_in: true }; var user = eyeofcloudClient.createUserContext('user123', attributes); var decision = user.decide('product_sort'); var variationKey = decision['variationKey']; if (variationKey === null) { console.log(' decision error: ', decision['reasons']); } var enabled = decision['enabled']; if (enabled) { var sortMethod = decision.variables['sort_method']; // execute code for sort method value } if (variationKey === 'control') { // Execute code for control variation } else if (variationKey === 'treatment') { // Execute code for treatment variation } // Track an event user.trackEvent('purchased'); });
<html> <head> <title>Hello world</title> <!-- Install Eyeofcloud SDK --> <script src="https://unpkg.com/@eyeofcloud/eyeofcloud-sdk/dist/eyeofcloud.browser.umd.min.js"></script> <!-- Add your datafile using your SDK key so you can later instantiate an Eyeofcloud client --> <script src="https://cdn.eyeofcloud.com/datafiles/<Your_Sdk_Key>.json/tag.js"></script> </head> <body> <h1>Hello world</h1> </body> <script> // instantiate an Eyeofcloud client from the datafile var eyeofcloudClient = window.eyeofcloudSdk.createInstance({ datafile: window.eyeofcloudDatafile }); var attributes = { logged_in: true }; var userId = 'user123'; var user = eyeofcloudClient.createUserContext(userId, attributes); var decision = user.decide('product_sort'); var variationKey = decision['variationKey']; if (variationKey === null) { console.log(' decision error: ', decision.reasons); } var enabled = decision['enabled']; if (enabled) { var sortMethod = decision.variables['sort_method']; // execute code for sort method value } if (variationKey === 'control') { // Execute code for control variation } else if (variationKey === 'treatment') { // Execute code for treatment variation } // Track an event user.trackEvent('purchased'); </script> </html>