A/B Testing SDK

目前我们提供了10余种适用于不同编程语言和设备的A/B Testing SDK(Software development kit),配合相应的神策分析SDK,实现用户分流、获取试验结果和事件上报等功能,方便您快速接入AB测试开展试验。

应用接入

接入前确认

  • 确定要进行试验的客户端类型,选择相应的SDK。
  • 完成试验设计,确定试验类型(包括编程试验、多链接试验、可视化试验等)、试验主体(用户主体、设备主体和自定义主体)、试验变量和参数。
  • 如果已在管理端完成试验配置,可在试验编辑页面获取该试验的示例代码,有助于更快接入试验。
  • 如果SDK功能尚未满足您的需求,请联系神策技术顾问提供支持。

接入流程

SDK版本与功能汇总

客户端SDK

客户端SDK当前版本
SDKAndroid SDKiOS/macOS SDKHarmoyOS SDKWeb SDK微信小程序SDKC++ SDK支付宝小程序SDK快应用SDKFlutter SDK
当前版本

v0.0.2

发布时间2023.042023.122024.72023.012023.112023.062023.112023.112022.11
客户端SDK功能与支持版本
功能Android SDKiOS/macOS SDKHarmoyOS SDKWeb SDK微信小程序SDKC++ SDK支付宝小程序SDK快应用SDKFlutter SDK
请求试验配置

ALL

ALL

ALL

ALL

ALL

ALL

ALL

ALL

ALL

自定义属性

V0.1.1+

V0.1.5+

ALL

V0.1.2+

V0.0.11+

V0.0.2+

N/A

N/A

N/A

自定义主体

V0.2.1+

V0.2.1+

ALL

N/A

N/A

N/A

N/A

N/A

N/A

多链接试验

V0.0.7+

V0.1.0+

ALL

V0.0.9+

N/A

N/A

N/A

N/A

N/A

可视化试验

N/A

N/A

N/A

V0.0.9+

N/A

N/A

N/A

N/A

N/A

时间片试验

V0.2.4+

V0.2.3+

ALL

V0.1.3+

V0.0.10+

N/A

N/A

N/A

N/A

非粘性试验

V1.0.0

V1.0.0

ALL

V0.1.3+

V1.19.2+

N/A

N/A

N/A

N/A

服务端SDK

服务端SDK当前版本
SDKJava SDKGolang SDKPython SDKC# SDKPHP SDK
当前版本

发布时间2023.122024.012022.082023.052023.02
服务端SDK功能与支持版本
功能Java SDKGolang SDKPython SDKC# SDKPHP SDK
请求试验配置

ALL

ALL

ALL

ALL

ALL

自定义属性

V0.0.3+

V0.0.2+

V0.0.3+

V0.0.2+

N/A

自定义主体

V0.0.5+

V0.0.2+

V0.0.3+

N/A

N/A

时间片试验

V0.0.7+

V0.1.0+

N/A

N/A

N/A

非粘性试验

V0.1.0+

V0.1.0+

N/A

N/A

N/A

ALL  所有版本均支持该功能

V0.0.5+  0.0.5及以上版本支持该功能

N/A  暂不支持该功能

SDK缓存逻辑

初始化SDK之后,通过API获取具体试验的变量值,根据获取试验变量值的方式,可分为下面三种策略:

  • fetchCacheABTest :读取本地缓存,缓存不存在时使用默认值
  • asyncFetchABTest :忽略本地缓存,从服务端获取数据
  • fastFetchABTest :优先读取本地缓存,缓存不存在时从服务端获取数据

若使用读取本地缓存的策略,以fastFetchABTest为例,SDK使用缓存的逻辑如下:

为了让历史已命中试验的用户,在触发试验场景时能非常迅速地跳转到对应试验效果,再不受网络波动影响而走兜底策略,所以我们不会清除对应缓存数据,而是选择定时更新缓存数据。不过需要注意的是:若存在网络延迟,缓存的更新不可避免地会出现些许滞后。