Gaoding ABTest SDK
npm install @gaoding/gd-abtest```
npm install @gaoding/gd-abtest
import gdABTest from '@gaoding/gd-abtest';
`
SDK Methods
$3
> js SDK 初始化
`
gdABTest.init({
app_key: 'application appkey', //应用对应的 appkey,必填
app_name: 'application appName', // 应用对应的 appName,必填
user_id: '', // 客户端能唯一标识用户的ID,必填
device_id: '', // 用户设备id,必填
is_login: '' // 用户是否登录,必填 0:未登陆,1:登陆
})
`$3
> 获取所有匹配的版本信息,并缓存到本地,缓存时间为30分钟
`
const exps = gdABTest.getExps()
`$3
> 根据变量名称获取所匹配的版本信息的变量值
`
gdABTest.getValue(variableName, defaultVaule).then(flag => {
console.log(flag);
})// 例如输出:
// sdjjkxx_0
`> 当需要获取多个变量,可入参一个变量名数组,相应的 defaultVaule 也需要设置为数组
`
gdABTest.getValue(['variableName_1', 'variableName_2'], ['defaultVaule_1', 'defaultVaule_1']).then(flag => {
console.log(flag);
})// 例如输出:
// 匹配情况 ['sdjjkxx_0', 'sdjjkxx_1']
// 部分不匹配情况 ['sdjjkxx_0', 'defaultVaule_1']
// 不匹配情况 ['defaultVaule_1', 'defaultVaule_1']
`
$3
> 设置 userId
`
gdABTest.setUserId(userId)
`$3
> 设置 deviceId
`
gdABTest.setDeviceId(deviceId)
`$3
> 网络请求钩子。 监听 fetch 事件,当sdk发起网络请求会触发该钩子事件
`
gdABTest.on('fetch', (data: object[]) =>{
console.log(data); // 返回所有版本信息
})
`$3
> 无垠埋点钩子,监听 windTrack 事件,当 this.getValue() 后触发一次埋点上报
`
gdABTest.on('windTrack', (data: object) =>{
console.log(data); // 埋点信息
})// 埋点信息如:
{
event: 'abtest_track',
event_id: 125,
ab_tags: ['xxx_1']
}
`$3
> 根据 eventId 获取 abtags
`
const abTags = getAbTags('event_id')
// 输出:null 或 [mdamday_1]
``