示例用法
About 2 min
示例用法
本主题提供了一个简短的代码示例,说明如何使用云眼灰度发布(特性标帜)AB实验 Python SDK 来评估灰度发布(特性标帜)、激活 A/B 测试或功能测试。
安装 SDK 后,将 Eyeofcloud 功能实验库导入代码,获取云眼灰度发布(特性标帜)AB实验项目的数据文件,并实例化客户端。然后,可以使用客户端评估标帜规则,包括 A/B 测试和标帜传递。
此示例演示了以下每个概念的基本用法:
使用 Decide 方法计算具有键
product_sort
的标帜。作为副作用,Decision函数还会向云眼灰度发布(特性标帜)AB实验发送决策事件,以记录当前用户已暴露于实验。有条件地执行特征代码。有以下几种选择:
- 获取标帜启用状态,然后检查标帜上名为
sort_method
的配置变量。SDK 会评估标帜规则,并确定用户所处的标帜变体,从而确定他们应该看到的排序方法变量。 - 获取标帜变体,然后运行“控制”或“处理”代码。
- 获取标帜启用状态,然后检查标帜上名为
使用事件跟踪跟踪名为
purchased
的事件。此转化事件衡量实验的影响。使用跟踪事件方法,购买会自动归因于我们做出决定的正在运行的 A/B 测试。SDK 通过可自定义的事件调度程序向云眼灰度发布(特性标帜)AB实验发送网络请求,以便我们可以将其计入“结果”页面。
Python
from eyeofcloud import eyeofcloud
# Instantiate an Eyeofcloud client
eyeofcloud = eyeofcloud.Eyeofcloud(sdk_key = "<Your_SDK_Key>")
# create a user and decide a flag rule (such as an A/B test) for them
user = eyeofcloud.create_user_context("user123", {"logged_in": True})
decision = user.decide("product_sort")
# did the decision fail with a critical error?
try:
variation_key = decision.variation_key
except:
print("decision error: {}".format(decision.reasons))
# execute code based on flag enabled state
enabled = decision.enabled
if enabled:
# get flag variable values
sort_method = decision.variables["sort_method"]
# or execute code based on flag variation
if variation_key == 'control':
pass
# Execute code for variation A
elif variation_key == 'treatment':
pass
# Execute code for variation B
else:
pass
# Execute code for users who don't qualify for the experiment
# Track a user event
user.track_event("purchased")