下载SDK
AppAdhoc 微信 SDK
引入SDK
在您工程的app.js中,引入sdk:
……
var adhoc = require('./ab.wx');
……

其中“app_key” 是在登录 AppAdhoc 后台创建“应用”之后获得的该“应用”的授权标识。
可在AppAdhoc控制台应用列表找到,如下图红线部分:

其中”client_id” 是一个唯一的 ID,用来代表一个独立访客,建议使用微信的openid
如果没有指定 client_id,SDK 将自动生成一个随机的 client_id,并使用微信的storage进行持久化。
编程模式:根据“试验变量”展示相应内容
在编程模式中“试验变量”的值决定了展示的内容或程序的逻辑。
注意:试验变量值应由PM或相关A/B Testing需求制定人员在后台提前录入完毕,如下图“版本管理”红线部分:

展示相应内容需要两步:
1.获取AppAdoc 后台试验变量
通过在您的小程序中调用 adhoc.getExperimentFlags(callback) 来完成的:
adhoc.getExperimentFlags(function(flagObj){
if (flags.get('isNewHomePage') === true)
var text = " Hey,我是试验版 :) ";
} else {
var text = " Hey, 我是原始版本!";
}
that.setData({
text: text
})
})
其中,'isNewHomePage' 即是“试验变量“,应与上图中红线标识保持一致,上面的示例代码在获取是否是新的首页后,修改了数据。
请注意在用户访问到试验页面时,需要触发试验内包含的所有变量才算作进入试验,否则将不会上报试验数据。
在此示例中,“flags.get('isNewHomePage')”算作触发变量“isNewHomePage”。请勿在非试验页面或者公用文件中调用。
上报指标
指标用于量化试验结果的好坏,AppAdhoc 后台中的试验图表根据此数据生成。
注意:指标值应由PM或相关AB Test需求制定人员在后台提前录入完毕,如下图“优化指标”红线部分:

比如在进入某一逻辑分支后,可以统计点击次数。将上图中的指标“clickTimes”传入函数increment实现上报指标, 每次累加1:
Page({
bindViewTap: function(){
adhoc.increment('clickTimes', 1);
}
})
如果需要同时上传多个指标,可以使用以下方法(多个指标将统一上传成功或失败):
Page({
bindViewTap: function(){
adhoc.increment(['stat1', 'stat2', {key: 'stat3', val: 10}], function(error){
if(error){
//error handler
}else{
//success handler
}
});
}
})
开始试验
恭喜,您完成了AppAdhoc AB Testing wx SDK的埋点集成工作,请通知PM或相关AB Test需求制定人员,点下开始试验按钮吧!
注意:确保app_key, 试验变量字符串,指标字符串与后台截图处一一对应,否则可能出现异常或无试验数据情况。
高级功能 自定义受众定向(需要联系管理员开启)
注意:自定义受众定向条件应由PM或相关AB Test需求制定人员在后台提前录入完毕。
在运行控制/右侧定向试验:

选择分组,点击编辑用户群:

即得到受众条件的key,在下图例子中,“sex”是key:

自定义受众定向有三种情况:
普通自定义:
adhoc.setCustomTags({sex: 'male', age: '20'}) |