加载JS SDK的Web应用所需要满足的浏览器环境:
IE5以上的IE浏览器、360浏览器、谷歌浏览器、搜狗浏览器、火狐浏览器、QQ浏览器、Safari浏览器、Maxthon、Mobile端浏览器,并且全面支持H5,覆盖市面上的主流浏览器。
请将以下的页面代码放置需要分析页面中的<head>和<head>标签之间,即可完成JS SDK页面代码的添加。
请注意使用具体的项目ID替换代码中的 your projectId、your DataSourceId 确保JS资源地址正确。
<!-- GrowingIO Analytics code version 1.0 --><!-- Copyright 2015-2020 GrowingIO, Inc. More info available at http://www.growingio.com --><script type='text/javascript'>!function(e,t,n,g,i){e[i]=e[i]||function(){(e[i].q=e[i].q||[]).push(arguments)},n=t.createElement("script"),tag=t.getElementsByTagName("script")[0],n.async=1,n.src=g,tag.parentNode.insertBefore(n,tag)}(window,document,"script","JS 资源地址","gdp");gdp('init', 'your projectId', 'your dataSourceId', { host: 'your apiServerHost' });//custom page code begin here//custom page code end heregdp('send');</script><!-- End GrowingIO Analytics code version: 1.0 -->
常见的初始化失败情况:
初始化需要设置host,不设置会失败。
初始化必须填写projectId、datasourceId,否则会失败。
不支持file协议、localhost、127.0.0.1
初始化参数,用来设置项目ID和一些商用的配置项。
//init API原型gdp('init', projectId, dataSourceId, options);
参数名称 | 类型 | 是否必须 | 说明 | |
projectId | string | 是 | 项目ID | |
dataSourceId | string | 是 | 数据源ID | |
options | JSON Object | 是 | 重要配置项,至少需要配置 host | |
options 说明
配置项 | 类型 | 是否必填 | 默认值 | 说明 |
host | string | 是 | 无 | SDK 上报数据的服务器地址,如 api.test.com,该值必须设置。 |
scheme | string | 否 | https | SDK 上报数据的服务器的协议类型,只能是 https 或 http。 |
debug | boolean | 否 | false | 是否开启 Debug 模式。开启后 SDK 上报的数据会在开发者工具 console 中打印。仅测试时设置为 true。 |
hashtag | boolean | 否 | false | 是否支持 hashtag。开启后 SDK 采集时 path 中将包含 hashtag,一些使用 hashtag 作为前端页面路由的单页应用,可以使用此开关,区分不同的页面。例如https://www.growingio.com/index.html#hash-tag-name 页面,hashtag=true 时采集的 path 会是 /index.html#hash-tag-name,hashtag=false 时,采集的 path 会是 /index.html。 |
dataCollect | boolean | 否 | true | 是否采集数据。关闭后 SDK 将不再采集数据。 |
appVer | string | 否 | undefined | 设置网站应用的版本。 |
compress | boolean | 否 | fasle | 是否开启数据压缩。开启后 SDK 上报数据会经过压缩,无法通过抓包工具直接看到明文。v0.6.0 版本新增,需要配合新版 collector 服务使用,如果您不确定您的服务是否支持,请联技术支持。修改后请一定现在测试环境测试数据接收无问题。 |
代码示例
//init API调用示例//配置发数api为 http://api.test.comgdp('init', 'project-id', 'data-source-id',{scheme: 'http', // api 服务协议头host: 'api.test.com' // api 服务地址});
在初始化时设置debug模式为true,打开浏览器控制台,即可看到实时采集的数据。
IE 9以下不支持。
gdp('init', 'your projectId', 'your dataSourceId', {debug: true});
GrowingIO 默认不会把hashtag识别成页面URL的一部分。对于使用hashtag 进行页面转跳的单页面网站应用来说,可以启用hashtag 作为标识页面的一部分。
gdp('init', 'your projectId', 'your dataSourceId', {hashtag: true});
设置上传当前应用埋点数据的接受服务器的域名。
GrowingIO默认不配置发数的API,需要在初始化时设置host,否则会初始化失败。
gdp('init', 'your projectId', 'your dataSourceId',{host: 'api.growingio.com'});
GrowingIO 默认发数请求协议是 HTTPS,如果您的请求协议为 HTTP,可以参考如下设置进行修改。
gdp('init', 'your projectId','your dataSourceId', {scheme: 'http'});
如果网站在不停升级版本,同时想了解不同版本的数据情况,可以参考如下代码设置应用版本。在实际使用中应用版本对移动端 app 更有价值。
gdp('init', 'your projectId','your dataSourceId', {appVer: 'v1.2.3'});
GrowingIO Web SDK 默认发送数据是明文,可以通过这个开关将数据压缩,一方面保证数据不能被直接查看,增强了数据的安全性。另一方面可以节省用户的流量。可以通过下面方式开启数据压缩传输。
gdp('init', 'your projectId','your dataSourceId', {compress: true});
数据压缩是在 SDK 0.6.0 版本新增,需要同步升级数据收集服务,否则数据将无法正常采集。如果您不确定您的服务是否支持,请联技术支持。并且务必在修改配置后测试数据采集功能正常。
当用户登录之后调用 setUserId,上传登录用户ID。
//setUserId API原型gdp('setUserId', userId);
参数名称 | 类型 | 是否必须 | 说明 |
userId | string | 是 | 应用的登录用户ID。 |
代码示例:
//setuserId API调用示例gdp('setUserId', '1234567890');
当用户退出登录后,调用clearUserId,清除已经设置的登录用户ID。
//clearUserId API原型和调用示例gdp('clearUserId');
// 获取访问用户IDgdp('getVisitorId');
// setUserAttributes API调用原型gdp('setUserAttributes', userAttributes);
// track API调用原型gdp(track, eventId);// 事件属性上传gdp('track', eventId, eventLevelVariables);// 物品模型上传gdp('track', eventId, eventLevelVariables, item);
参数名称 | 类型 | 是否必填 | 说明 |
eventId | string | 是 | 事件标识符。 |
eventLevelVariable | JSON Object | 否 | 事件变量。 |
item | JSON Object | 否 | 物品模型。 |
// track API调用示例 - 事件属性gdp('track','order', {type: 'hjh'})// track API调用示例 - 物品模型gdp('track','testEvent',{},{key:'order_id',id:'123456'})// key为物品模型唯一标识属性
GrowingIO 全面支持欧盟《一般数据保护条例》。
// 停止采集数据gdp('config',{"dataCollect": false}); 全局配置, 可以放到send之后// 采集数据 (默认)gdp('config',{"dataCollect": true});