数据采集API

SDK 如何调用开放接口

通过gioGlobal.gdp这个全局的方法可以调用到SDK中所有开放的接口

一般您可在页面头部进行解构获取gdp方法。const { gdp } = gioGlobal;

动态配置接口

配置scheme

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

gdp('setTrackerScheme', 'http');

配置debug

动态开启或关闭debug

gdp('enableDebug', true);

配置dataCollect

动态开启或关闭数据采集

gdp('setDataCollect', true);

配置autotrack

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

gdp('setAutotrack', true);

功能接口

设置访问用户id

在用户微信授权登录后,获取 openId,调用 identify 设置访问用户id

参数

参数类型

是否必传

说明

openId

String

用户微信授权登录后,获取 openId

gdp('identify', openId);

设置登录用户ID

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

参数说明

参数

参数类型

是否必传

说明

userId

String

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

gdp('setUserId', userId);

清除登录用户ID

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

gdp('clearUserId');

埋点事件接口

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

参数说明

参数

参数类型

是否必传

说明

eventId

String

事件名,事件标识符

variables

Object

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

items

Object

物品模型

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

设置用户属性

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

参数说明

参数

参数类型

是否必传

说明

properties

Object

用户属性信息

// 接口调用说明
gdp('setUserAttributes', properties);
gdp('setUserAttributes', {name: 'hjh'});

采集标记

额外数据标记

1、有时SDK自动采集的节点数据并不能完全满足上报分析需要。此时,我们可以通过额外信息的标记 data-title 来补充SDK采集的内容。例:

<view data-title="额外的上报信息">节点</view>

2、有时我们页面中可能存在类似列表Dom结构一致使得SDK上报数据出现无法区分的情况。此时,我们可以通过索引标记 data-index 来准确描述节点信息。例:

<view>
<view data-index="1">节点1</view>
<view data-index="2">节点2</view>
<view data-index="3">节点3</view>
</view>

Tips:我们建议您多设定额外的数据标记来采集更多的数据,以此获取更全面和更准确的用户行为数据。

3、有时我们表单页面中可能需要获取用户选择框、单/多选框的值进行上报以准确分析用户行为。此时,我们可以通过数值采集标记 data-growing-track 来获取值。例:

<checkbox-group bindchange='checkboxChange' data-growing-track="true">
<label class='checkbox'>
<checkbox value='GrowingIO' checked='true' /> GrowingIO
</label>
<label class='checkbox'>
<checkbox value='Google' checked='false' /> Google Analytics
</label>
</checkbox-group>

免责声明警告:

请勿尝试在密码框上标记 data-growing-track 采集数据,会明文暴露用户填写的密码信息。GrowingIO不承担由此直接或间接产生的数据风险和法律风险。

忽略采集标记

有时我们会根据业务中不同的需要开发一些组件或使用一些第三方组件,可能会触发SDK的 VIEW_CHANGE 事件,但我们并不期望它发生。

此时,我们可以通过忽略采集标记 data-growing-ignore 来让SDK忽略对该组件的数据采集。例:

<view data-growing-ignore="true">要忽略的节点</view>

其他

如果您的小程序使用了navigator组件,需要您手动绑定一个空的点击事件,SDK才能实现跳转点击的采集。例:

<navigator>
<view bindtap="nameForThisClick">
...
</view>
</navigator>