Web JS SDK 通过window.gdp
这个全局的方法可以调用到SDK中所有开放的接口,默认包括启动接口,动态配置接口和功能接口
SDK 内部通过代理的方式来执行您需要调用的接口,如接口名为track
,则按照以下方式调用。
// 例如,SDK定义的track接口签名如下function track(eventId: String, attributes: object): void;/*** 通过全局的window.gio来调用* 第一个参数 代表要调用的方法名* 后面的多个参数则对应要调用的方法中所需的参数*/window.gdp('track', 'eventId', {key: 1});
// 启动接口gdp('init', projectId, datasourceId[, options]);gdp('send');// 动态配置接口gdp('setTrackerScheme', 'http');gdp('setTrackHost', 'api.growingio.com');gdp('enableDebug', true);gdp('setDataCollect', true);gdp('setAutoTrack', true);// 功能接口gdp('setUserId', userId);gdp('clearUserId');gdp('getVisitorId');gdp('track', eventId, variables[, item[, callback]]);gdp('setUserAttributes', properties, callback);
用户初始化sdk,初始化配置等。在该阶段会进行一下工作
从配置中注册插件
初始化sdk配置
初始化用户数据(u,s,cs1等)
加载插件,触发所有插件的onLoad方法
接口原型如下
gdp('init', projectId, datasourceId[, options]);
正式运行sdk,可以开始发送数据。
判断是否初始化和是否已经运行
触发pageShow,发送pv事件
触发所有插件的onStart方法
接口原型如下
gdp('send');
动态配置接口和功能接口均由内部插件提供,调用放在 gdp('send')
之后
可在初始化后重新设置请求协议
gdp('setTrackerScheme', 'http');
可以初始化后重新设置请求host
gdp('setTrackHost', 'api.growingio.com');
动态开启或关闭debug
gdp('enableDebug', true);
动态开启或关闭数据采集
gdp('setDataCollect', true);
动态开启或关闭无埋点采集
gdp('setAutoTrack', true);
在用户登录后,可以调用setUserId,上报登录用户id。
参数 | 参数类型 | 是否必传 | 说明 |
|
| 是 | 长度限制大于0且小于等于1000,如果大于长度1000将只截取前1000长度 |
|
| 否 | 适用于ID-MAPPING,可选填 |
gdp('setUserId', userId);// 若在初始化是配置了enableIdMapping: true,// 则可以启用userKey的设置,方式如下gdp('setUserId', userId, userKey);
当用户登出之后调用cleanUserId
,清除已经设置的登录用户ID
gdp('clearUserId');
gdp('getVisitorId');
发送一个自定义事件。在添加所需要发送的事件代码之前,需要在事件管理用户界面配置事件以及事件级变量
参数 | 参数类型 | 是否必传 | 说明 |
|
| 是 | 事件名,事件标识符 |
|
| 否 | 事件发生时所伴随的维度信息(可选) |
|
| 否 | 物品模型 |
| response | 否 | 上报请求响应后的回调,参数为response |
// 接口调用说明gdp('track', eventId, variables[, item[, callback]]);// 代码示例gdp('track','order',{type:hjh},{key:'order_id', id: '12345'});
注:item如果没有,可以直接传入callback函数
以登录用户的身份定义用户属性变量,用于用户信息相关分析。
参数 | 参数类型 | 是否必传 | 说明 |
|
| 是 | 用户属性信息 |
| response | 否 | 上报请求响应后的回调,参数为response |
// 接口调用示例gdp('setUserAttributes', properties, callback);// 示例代码gdp('setUserAttributes', {name: 'hjh'});