adhoc

adhoc

Methods

(static) corssTrack()

跨域上报时使用的独立track
Example
// 可通过相关API获取 clientId 和 expids, 通过跨域传输参数来在其他域进行统计上报, 当前API可单独调用,无需进行SDK初始化
   adhoc('corssTrack',{
     appKey: 'xx-xxx',
     clientId: 'xx-xxx',
     expids: ['xx-xxxxx']
   }, 'click', 1, function(err) {
     
   });

(static) getCurClientId()

获取当前用户的clientid

(static) getFlags()

获取flags对象
Example
adhoc('getFlags', function(flags){
   	var flag = flags.get('flagName')
});

(static) getMatchedExpIds()

获取握手后命中的试验ids (必须在试验握手后使用才能获取成功)
Example
var ids = adhoc('getMatchedExpIds);
ids is ['ed2366a3-4aaf-708b-82f7-d2d0e8ab9890', 'ed2366a3-4aaf-708b-82f7-d2d0e8ab9890']

(static) hide()

隐藏元素
Example
adhoc('hide', '#id', 'a', 'h1', '.classname');

(static) init()

初始化 SDK,在设置类函数以外的其他函数使用之前调用。
Example
adhoc('init', {
	appKey: 'your appkey', // 客户的appKey,必填
	clientId: undefined, //客户自定义的clientId,选填
	custom: {}, //客户自定义tag,选填
	defaultFlags: {}, //自定义默认flags,在获取flag失败时使用,选填
	stopUrlParams: false, // 多链接模式跳转试验版本时是否带上原始版本的url参数,选填
	filterUrlParams: false, //多链接模式和可视化是否完全匹配url参数(如果要开启的话,需要在多链接的所有版本中都设置为true),选填
	protocol: window.location.protocol,//sdk发送请求所使用的协议,选填
	domain: 'appadhoc.com',//私有化部署设置域名,选填
	crossDomain: undefined,//跨页面统计设置主域名,选填
  experimentCache: true // 是否缓存试验信息, 选填
});

(static) setOverlay()

关闭白屏(关闭后不可再次打开)
Example
adhoc('setOverlay', false);

(static) show()

显示元素
Example
adhoc('show', '#id', 'a', 'h1', '.classname');

(static) track()

上报指标
Example
adhoc('track', statName, 1, function(error){
   	if(error){
		//i don't know, maybe you can do something cool.
    }else{

    }
  });
    
  // 上报多指标 (指标与数值顺序对应)
  adhoc('track', ['click','total'],[1, 1], function(error){
    //.. 
  });

  // 上报多指标,数值都为1
  adhoc('track', ['click','total'],1, function(error){
    //.. 
  });

Events

MatchExperiment

试验握手时触发事件
Example
adhoc('on', 'MatchExperiment', function(exp) {

  // exp 
  // {
  //    flags: ['version'],
  //   id: 'xxx-xxxx', // experiment-id
  //   name: 'xxx-xxx  // experiment-name
  // }

 })

rander

可视化试验渲染时触发事件
Example
adhoc('on', 'rander', function() {
    // 例如: 获取可视化试验的版本信息
    var ids = adhoc('getMatchedExpIds');
  })

Track

上报指标时触发事件
Example
adhoc('on','Track', function(event) {


  // event 
  // {
  //  expids: ['xx-xxxxxx'],
  //  statname: 'PV',
  //  value: 1
  // }

 })