简介
optimizely-server-sdk-beta 是为优化实验和 A/B 测试工作而开发的 JavaScript 包,提供实验 variation 的概率分配和 tracking 功能。本文主要介绍该包的安装、使用和实践经验。
安装
npm 是 Node.js 的包管理工具,可以在命令行安装和管理 optimizely-server-sdk-beta。在命令行中输入以下命令即可安装:
npm install optimizely-server-sdk-beta
使用
引入该包后,需要先创建一个 Optimizely 实例。在创建实例时需要传入以下参数:
sdkKey
: SDK key,用来访问 Optimizely 服务。datafile
: Optimizely 项目的数据文件,可以从 Optimizely 后台下载,保存为 JSON 格式。也可以在实例化时传入一个 URL,让 SDK 自动从该 URL 拉取最新的数据文件。
const Optimizely = require('optimizely-server-sdk-beta'); const optimizely = Optimizely.createInstance({ sdkKey: 'YOUR_SDK_KEY', datafile: 'PATH_TO_DATAFILE', });
除此之外,还可以传入一些配置参数:
skipJSONValidation
: 是否跳过数据文件的 JSON 格式验证。logger
: 自定义 logger 实例。eventBatchSize
: 每批事件的大小。eventFlushIntervalMillis
: 事件发送间隔时间(毫秒)。
-- -------------------- ---- ------- ----- ---------- - -------------------------------------- ----- ---------- - --------------------------- ------- --------------- --------- ------------------- ------------------- ----- -- -------- ------- -------- -- -- ------- -- ------ --------------- --- -- ------ ------------------------- ----- -- --------- ------ ---
实践
下面是一个实验概率分配的示例。该实验有两个 variation:A 和 B。我们设置 A 的概率为 60%,B 的概率为 40%。代码如下:
-- -------------------- ---- ------- ----- ---------- - -------------------------------------- ----- ---------- - --------------------------- ------- --------------- --------- ------------------- --- ----- ------ - --------------- ----- ---------- - - --------- ------ -- ----- ------------ - --------------------------------- ------- ------------ -- ------------- --- -------------- - -- -- --------- - - ---- -- ------------- --- -------------- - -- -- --------- - - ---- - -- ------ -
在上面的代码中,我们使用 activate 方法对实验进行概率分配,该方法的第一个参数是实验的 key,第二个参数是用户 ID,第三个参数是用户属性。如果概率分配成功,该方法会返回 variation 的 key,我们根据该 key 执行相应的逻辑。
除了概率分配,optimizely 还提供了 track 方法,用于记录用户的行为事件。下面是一个如何使用 track 方法的示例:
-- -------------------- ---- ------- ----- ---------- - -------------------------------------- ----- ---------- - --------------------------- ------- --------------- --------- ------------------- --- ----- ------ - --------------- ----- ---------- - - --------- ------ -- ---------------------------- ------- ----------- - ----------- ----------- -------- ------ ---
在上面的代码中,我们使用 track 方法记录了一个名为 'purchase' 的行为事件,该事件有两个自定义属性 'product_id' 和 'revenue',我们可以在 Optimizely 后台对这个事件进行分析。
总结
optimizely-server-sdk-beta 是一个功能强大的 JavaScript 包,可以为我们的优化实验和 A/B 测试工作提供便利。本文主要介绍了该包的安装和使用,并给出了概率分配和 tracking 的示例。希望读者能够从中受益,更好地开展实验和测试工作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600579d481e8991b448eb3ac