快应用 A/B Testing SDK 依赖于神策分析快应用 SDK v0.9.0 及以上版本,在使用前请确保已经成功集成依赖于神策快应用 SDK,并进行了 SDK 初始化,详情可参考 SDK 集成 (快应用 SDK)。
集成方式
集成神策分析快应用 SDK。
集成快应用 A/B Testing SDK,在快应用 SDK 初始化时需要传入请求分流试验的地址,请联系运营人员获取(创建具体的试验后,可下载 SDK 说明文档/复制具体代码示例)。
A/B Testing SDK API
获取试验变量 API
初始化 SDK 之后,通过 API 获取具体试验的变量值,根据获取试验变量值的方式,可分为下面三种策略:
- fetchCacheABTest :读取本地缓存,缓存不存在时使用默认值
- asyncFetchABTest :忽略本地缓存,从服务端获取数据
- fastFetchABTest :优先读取本地缓存,缓存不存在时从服务端获取数据
如何确定应该选择哪个API获取试验变量值?
1.一般情况下,我们推荐使用fastFetchABTest获取试验变量值。
2.如果您对性能有要求,可以使用fetchCacheABTest, 只从本地缓存中获取变量值,但可能导致用户无法及时命中最新的试验。
3.如果您进行时间片轮转试验,且对时效性有要求,可以使用asyncFetchABTest 获取试验变量值,但会存在一定的网络延迟。
1. 请确保对A/B分流返回的 result 结果 & 接口中使用的默认值,都做了正常的业务逻辑处理!
2. 请确保默认值 default_value 和当前试验值类型相同。比如参数对应试验值为 Int 类型,则传入的 default_value 也必须是 Int 类型,同时返回的试验结果 result 也是 Int 类型
以 fastFetchABTest 为例,可在相应的业务逻辑中添加如下代码:
获取设备主体试验变量
SDK支持使用设备主体进行分流。需要您在初始化SDK时,将匿名ID设置为公共属性。初始化并设置公共属性的具体方式如下:
后续可以使用
- fetchCacheABTest :读取本地缓存,缓存不存在时使用默认值
- asyncFetchABTest :忽略本地缓存,从服务端获取数据
- fastFetchABTest :优先读取本地缓存,缓存不存在时从服务端获取数据
三种方式同获取试验变量
代码示例
调试试验
可以通过录入调试设备的方式,把小程序用户加入到指定分组中;加入调试后,会强制命中当前试验指定的分组(调试设备在调试状态和正式上线阶段都会生效)。
集成神策分析快应用 SDK 后,在开发者工具控制台中查看任意一条数据,可以获取当前用户的 distinct_id。在开发版及体验版中,通过手机打开控制台也可以通过类似方式获取到 distinct_id。
将此 distinct_id 对应的值复制录入调试设备列表中,在创建试验时,直接将指定调试设备录入到对应试验分组。
版本要求和兼容性
- 快应用 SDK v0.9.0 及以上版本
- 快应用 A/B Testing SDK v0.0.3 及以上版本
- 快应用 App 的 onShow 生命周期钩子是在 1070 版本中添加的,所以此方法的调用需要保证保证使用的版本在 1070 以上