A/B Testing SDK
目前我们提供了10余种适用于不同编程语言和设备的A/B Testing SDK(Software development kit),配合相应的神策分析SDK,实现用户分流、获取试验结果和事件上报等功能,方便您快速接入AB测试开展试验。
应用接入
接入前确认
- 确定要进行试验的客户端类型,选择相应的SDK。
- 完成试验设计,确定试验类型(包括编程试验、多链接试验、可视化试验等)、试验主体(用户主体、设备主体和自定义主体)、试验变量和参数。
- 如果已在管理端完成试验配置,可在试验编辑页面获取该试验的示例代码,有助于更快接入试验。
- 如果SDK功能尚未满足您的需求,请联系神策技术顾问提供支持。
接入流程
SDK版本与功能汇总
客户端SDK
客户端SDK当前版本
SDK | Android SDK | iOS/macOS SDK | HarmoyOS SDK | Web SDK | 微信小程序SDK | C++ SDK | 支付宝小程序SDK | 快应用SDK | Flutter SDK |
---|---|---|---|---|---|---|---|---|---|
当前版本 | v0.0.2 | ||||||||
发布时间 | 2023.04 | 2024.04 | 2024.07 | 2023.01 | 2024.04 | 2023.06 | 2024.04 | 2024.04 | 2022.11 |
客户端SDK功能与支持版本
功能 | Android SDK | iOS/macOS SDK | HarmoyOS SDK | Web SDK | 微信小程序SDK | C++ SDK | 支付宝小程序SDK | 快应用SDK | Flutter 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当前版本
服务端SDK功能与支持版本
功能 | Java SDK | Golang SDK | Python SDK | C# SDK | PHP 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使用缓存的逻辑如下:
为了让历史已命中试验的用户,在触发试验场景时能非常迅速地跳转到对应试验效果,再不受网络波动影响而走兜底策略,所以我们不会清除对应缓存数据,而是选择定时更新缓存数据。不过需要注意的是:若存在网络延迟,缓存的更新不可避免地会出现些许滞后。