Skip to main content

初始化配置

配置一览表

下表中列出了所有小程序SDK的配置项,请按需设置。如您不确定是否需要,请咨询我们。

字段名参数类型默认值说明
autotrackbooleantrue是否开启无埋点采集
comAsPagebooleanfalse是否将 Component 组件 当做 Page 处理
compressbooleanfalse是否数据加密
dataCollectbooleantrue是否开启数据采集
debugbooleanfalse是否开启调试模式
enableEventStorebooleanfalse是否开启事件存储;若使用有GIO运营SDK需设置为 true(SDK版本>=3.3.2)
enableIdMappingbooleanfalse是否开启多用户身份上报(>= 3.3.0)
extraParamsstring[]-与H5数据打通时额外获取的字段(>= 3.3.0)
followSharebooleanfalse是否跟踪分享数据
forceLoginbooleanfalse是否开启强制登录模式;设置为true时需与接口identify一起使用
getLocationobject-获取位置配置项(3.3.6版本中移除)
getLocation.autoGetbooleanfalse自动获取用户位置信息(3.3.6版本中移除)
getLocation.typewgs84/gcj02wgs84坐标系类型。wgs84:标准坐标系;gcj02:火星坐标系(3.3.6版本中移除)
hoststring-数据上报的服务端地址(无需携带协议头)(必填)
ignoreFieldsstring[]-上报忽略字段
taroany-使用 Taro 开发时使用的实例
versionstring-小程序应用版本(建议填写)
vueany-使用 uni-app/mpvue/WePY 开发时使用的实例

配置项详解

autotrack

默认情况下,SDK开启无埋点采集。如果您不需要无埋点采集,可以通过指定 autotrack: false 进行关闭。

关闭无埋点后 VIEW_CLICK , VIEW_CHANGE , FORM_SUBMIT 事件将不会再被采集和上报。

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
autotrack: false,
...其他配置项
});

comAsPage

有时您可能会使用 Component 来代替 Page 进行代码编写。此时你需要设置 comAsPage: true 来将 Component 当做 Page 处理发送 PAGE 事件。

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
comAsPage: true,
...其他配置项
});

注意:一旦开启此配置,小程序中所有Component组件都会被视为一个页面,组件生命周期 attached 一旦触发即发送PAGE事件。

compress

默认情况下,SDK关闭数据加密,如果您认为不足够安全,可以通过指定 compress: true 打开数据加密。

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
compress: true,
...其他配置项
});

注意:开启加密后抓包工具无法抓取上报的明文数据,但debug模式开启时开发者工具中仍能看到未加密的上报数据。

dataCollect

默认情况下,SDK开启数据采集。如果您需要初始化时暂时关闭数据采集,可以通过指定 dataCollect: false 关闭。 初始化关闭数据采集后,至您打开数据采集之前都不会采集数据和上报。

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
dataCollect: false,
...其他配置项
});

debug

在开发时设置 debug: true,打开开发者工具控制台,即可看到实时采集的数据。注意正式上线时关闭它,尤其是开启了数据加密时。

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
debug: true,
...其他配置项
});

enableEventStore

默认情况下,SDK关闭事件存储功能。此功能在小程序storage中存储SDK已上报的事件数据,用于运营SDK消费,隔天清空

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
enableEventStore: true,
...其他配置项
});

如果您不使用运营SDK可忽略此配置;如果您使用运营SDK,必须开启此配置项,设置为 true

enableIdMapping

多用户身份上报,是否开启多用户身份上报,默认不开启。开启后,调用设置登录用户ID接口时,设置 userKey,服务端调用用户身份融合API时,可将不同的登录用户ID识别为同一用户。开启多用户身份上报后,需要在设置登录用户ID时设置userKey。参考文档

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
enableIdMapping: true,
...其他配置项
});

extraParams

在H5页面与小程序的用户信息保持一致时,上报数据除默认字段以外,可增加以下小程序SDK字段。使用时可通过调用getGioInfo

appChannel        小程序的场景值
deviceBrand 设备品牌
deviceModel 设备型号
deviceType 设备类型
networkState 网络类型
platformVersion 操作系统版本
language 语言
screenHeight 屏幕高度
screenWidth 屏幕宽度

参考示例:

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
version: '1.0.1',
debug: true,
extraParams: [
'appChannel',
'deviceBrand',
'deviceModel',
'deviceType',
'networkState',
'platformVersion',
'language',
'screenHeight',
'screenWidth'
],
});

注意:内嵌页集成的Web JS SDK 版本需>=3.3.3,Web JS SDK升级后无需做额外配置,自动适配上报。

followShare

默认情况下,SDK开启该功能。 跟踪分享数据功能,详细的进行转发分享的统计,来帮助您更好的分析。如您需要此功能,可以通过指定 followShare: false 来开启跟踪分享。

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
followShare: true,
...其他配置项
});

SDK采集时会优先获取分享回调方法中的path, title, contentType, contentId,若没有配置则会获取页面信息。例:

onShareAppMessage: function() {
return {
title: '自定义转发标题',
path: 'xxxxxx',
contentType: '内容类型',
contentId: '内容ID'
}
}

forceLogin

默认情况下,SDK会自动生成访问用户ID来标识访问用户。如您需要使用 openId 或 unionId 标识访问用户,可以通过指定 forceLogin: true 来打开强制登录模式。

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
forceLogin: true,
...其他配置项
});

强制登录模式适用于打开小程序就调用 wx.login (参考文档) 获取 openId 或 unionId 的小程序。 开启此模式并调用 identity 上报 openid 或 unionId,会将上报的 Id 作为访问用户ID,有助于访问用户数据关联性分析。

设置forceLogintrue后,SDK会暂停上报数据,待调用 wx.login后获取 openId 或 unionId,调用 identify 方法后开始数据上报。调用 identify 会替换事件数据的 deviceId 为设定值(一般是小程序openId 或 unionId),包括调用identify之前触发的事件。

gdp('identify', openId);
注意:

如果打开小程序后没有调用 wx.login 获取 openId 或 unionId,没有调用 identify 方法,但是小程序SDK配置了 forceLogintrue,会导致SDK不能上报数据,访问数据将大幅减少。如果您不能确定是否要设置这个参数,请先咨询我们技术支持。
如果小程序首页中使用的是内嵌H5页面,需要使用内嵌H5用户数据打通功能。该场景下,需要在小程序冷启动时,使用开屏页(在小程序首页 page 前增加一个 page 开屏页)。

getLocation

默认情况下,SDK不会自动在小程序启动时获取用户的地理位置信息。如您需要在小程序打开时获取用户地理位置信息,可以通过指定 autoGet: true 来打开此功能。同时您需要配置项目的permission字段参考文档和对应的权限申请参考文档

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
getLocation: { //是否自动获取用户的地理位置信息, 并设置获取方式
autoGet: true, //默认不自动获取
type: 'wgs84' //支持 wgs84(标准坐标系) | gcj02(火星坐标系), 默认wgs84
},
...其他配置项
});

如果您默认没有打开此功能,当用户访问至某一功能需要位置信息时,可以手动调用获取地理位置接口,自动补发VISIT,采集位置信息,提升用户地域分布的分析准确性。

gdp('getLocation');      // 获取用户的地理位置信息并上报

注意:
1、使用此功能必须保证您的小程序项目有对应的权限,如果您的小程序项目没有获取位置信息的权限导致上线审批被驳回,请使用3.3最新版不带getLocation相关内容的SDK3.3.6
2、我们在3.3.6版本中移除了getLocation相关的逻辑,如果您需要此功能,请使用3.3.5版本(在版本记录中下载)。
3、如果您初始化开启getLocation配置,用户打开小程序即需要授权;手动调用getLocation方法时,需要用户授权。

ignoreFields

默认情况下,SDK会上报网络和设备的相关信息。如果您不需要这些数据,可以通过指定 ignoreFields: [xxx,xxx] 来忽略指定字段的上报。 您可以指定一项或多项字段,但均需为数组格式进行设置。

deviceBrand       设备品牌
deviceModel 设备型号
deviceType 设备类型
networkState 网络类型
screenHeight 屏幕高度
screenWidth 屏幕宽度

参考示例:

gdp('init','your GrowingIO accountId', 'your dataSourceID', 'your AppId', {
version: '1.0.1',
debug: true,
ignoreFields: [
'deviceBrand',
'deviceModel',
'deviceType',
'networkState',
'screenHeight',
'screenWidth'
],
});