数据采集API

SDK 如何调用开放接口

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);

启动接口

1、初始化接口

用户初始化sdk,初始化配置等。在该阶段会进行一下工作

  • 从配置中注册插件

  • 初始化sdk配置

  • 初始化用户数据(u,s,cs1等)

  • 加载插件,触发所有插件的onLoad方法

接口原型如下

gdp('init', projectId, datasourceId[, options]);

2、启动接口

正式运行sdk,可以开始发送数据。

  • 判断是否初始化和是否已经运行

  • 触发pageShow,发送pv事件

  • 触发所有插件的onStart方法

接口原型如下

gdp('send');

动态配置接口和功能接口均由内部插件提供,调用放在 gdp('send')之后

动态配置接口

配置scheme

可在初始化后重新设置请求协议

gdp('setTrackerScheme', 'http');

配置host

可以初始化后重新设置请求host

gdp('setTrackHost', 'api.growingio.com');

配置debug

动态开启或关闭debug

gdp('enableDebug', true);

配置dataCollect

动态开启或关闭数据采集

gdp('setDataCollect', true);

配置autotrack

动态开启或关闭无埋点采集

gdp('setAutoTrack', true);

功能接口

设置登录用户ID

在用户登录后,可以调用setUserId,上报登录用户id。

参数说明

参数

参数类型

是否必传

说明

userId

String

长度限制大于0且小于等于1000,如果大于长度1000将只截取前1000长度

userKey

String

适用于ID-MAPPING,可选填

gdp('setUserId', userId);
// 若在初始化是配置了enableIdMapping: true,
// 则可以启用userKey的设置,方式如下
gdp('setUserId', userId, userKey);

清除登录用户ID

当用户登出之后调用cleanUserId,清除已经设置的登录用户ID

gdp('clearUserId');

获取访问用户ID

gdp('getVisitorId');

埋点事件接口

发送一个自定义事件。在添加所需要发送的事件代码之前,需要在事件管理用户界面配置事件以及事件级变量

参数说明

参数

参数类型

是否必传

说明

eventId

String

事件名,事件标识符

variables

Object

事件发生时所伴随的维度信息(可选)

items

Object

物品模型

callback

response

上报请求响应后的回调,参数为response

// 接口调用说明
gdp('track', eventId, variables[, item[, callback]]);
// 代码示例
gdp('track','order',{type:hjh},{key:'order_id', id: '12345'});

注:item如果没有,可以直接传入callback函数

设置用户属性

以登录用户的身份定义用户属性变量,用于用户信息相关分析。

参数说明

参数

参数类型

是否必传

说明

properties

Object

用户属性信息

callback

response

上报请求响应后的回调,参数为response

// 接口调用示例
gdp('setUserAttributes', properties, callback);
// 示例代码
gdp('setUserAttributes', {name: 'hjh'});