运行时API
运行时 API 可对 SDK 进行采集上报数据的控制。
GrowingIO为App提供运行时随意调用的API,使用方法如下:
GrowingIO所有API都需要在主线程调用。
基础配置API
API
说明
无埋点SDK版本支持
埋点SDK版本支持
setGeoLocation
设置经纬度,并在 vst 事件中发送,Android SDK 暂时没办法自动获取GPS
数据,如果您要采集GPS
数据,需要在您的App每次获取完GPS
数据之后,通过该API
告知 SDK。如果您不设置,我们默认使用用户IP
的Location。
ALL
ALL
clearGeoLocation
清空经纬度
ALL
ALL
setViewInfo
配置 view 的 Tag,标记 View ,并在 GrowingIO 相关事件中发送 ,内容对应 xPath
中的 obj
例如:在商品ListView
添加购物车的场景中,每个商品item
都含有一个加入购物车按钮,这时无法区分商品item
与将它加入购物车按钮的一对一关系,此时调用此方法增加描述。
注意:适用于原有v
字段含义不大,只关注描述的场景,使用此接口后v
字段将不采集
ALL
-
setViewContent
配置 view 的 Tag,标记 View ,并在 GrowingIO相关事件中发送,内容对应 xPath
中的 v
SDK默认不会采集ImageView的内容,为了能对不同的图片元素(ImageView)区分统计,需要对每个具有分析意义的图片元素(ImageView)添加描述。
ALL
-
setViewID
设置 View id ,配置之后对应 xPath 中的 view id,SDK将会使用Layout文件中的ID来识别一个元素。
如果部分元素在Layout文件中没有ID,建议在Layout文件中添加。
对于动态生成的元素,可以使用如下方法对它设置唯一的ID。
当您的应用界面改版时,可能会导致无法准确地统计已经圈选的元素。因此,对于应用中的主要流程涉及到的界面元素,建议您为它们设置固定的唯一ID,以保证数据的一致性。
ID 只能设置为字母、数字和下划线的组合
如果在ViewGroup上设置ID的话,SDK会忽略他所有子元素的默认ID(就是写在xml文件里的)只会使用GrowingIO.setViewID设置的ID。
对于已经集成过旧版SDK并圈选过的应用,对某个元素设置ID后再圈选它,指标数值会从零开始计算,类似初次集成SDK后发版的效果,但不影响之前圈选的其它指标数据。如果不希望出现这种情况,请不要使用这个方法
ALL
-
setChannel
<2.6.5 版本: 先设置渠道信息,再发送数据 能够保证所有数据都一定会带上渠道信息。
>=2.6.5 版本: 保留原有设置渠道信息的方法,新增在运行时设置渠道信息。新增的接口无法保证所有数据都一定会带上渠道信息(虽然我们会通过重发机制进行保证,但是无法做到100%)。
ALL
-
数据采集API
API
说明
无埋点SDK版本支持
埋点SDK版本支持
isDeeplinkUrl
校验链接URI是否满足GIO的格式,如"gio.ren"或".datayi.cn"结尾等
>=2.8.11
-
doDeeplinkByUrl
true 表示是GIO的deeplink链接,进行下一步判断, false 表示非GIO相关链接.参数callback不填则默认使用全局初始化时设置的callback
>=2.8.11
-
disableDataCollect
遵守欧洲联盟出台的通用数据保护条例,用户不授权,不采集用户数据
>=2.3.2
ALL
enableDataCollect
遵守欧洲联盟出台的通用数据保护条例,用户授权,采集用户数据
>=2.3.2
ALL
disable
GrowingIO停止采集
ALL
ALL
resume
GrowingIO恢复采集
ALL
ALL
stop
GrowingIO停止采集,可以不在主线程调用
ALL
ALL
setThrottle
是否节流发送(节流发送时imp不发送),内部实际调用 Configuration 中的同名方法,所以在初始化时候配置和运行时动态配置,效果一样。
ALL
-
setImp
imp
事件开关,true
为打开
ALL
-
disableImpression
不发送imp
ALL
-
ignoredView
忽略配置的 View ,不采集用户数据。
如果您需要忽略某些特殊内容,比如倒计时元素或涉及隐私的内容,可以使用此接口。
ALL
-
ignoreFragment
不采集配置的 Fragment 页面浏览事件(page
),不将Fragment
视作一个页面,可以理解成当作为一个可点击的view。自动采集用户行为事件(clck、chng
)和元素展示事件(imp
)。
ALL
-
ignoreFragmentX
支持 AndroidX , 功能同 ignoreFragment。
>=2.6.6
-
ignoreViewImp
忽略配置的 View ,不采集用户元素浏览数据。
如果您需要忽略某些大量的 数据,比如弹幕,可以使用此接口。
>=2.6.7
-
setPageName
设置页面别名,有些时候,对于完成某个功能的页面,统计时可能需要进一步细分。 比如,对于展示商品列表的页面,需要区分衣物类商品,以及食品类商品的两种列表的访问量。
注意
必须在该
Activity
的onCreate
方法中完成该属性的赋值操作。页面别名只能设置为字母、数字和下划线的组合。
为查看数据方便,请尽量对iOS和安卓的同功能页面取不同的名称。
ALL
-
setPageNameX
支持 AndroidX , 功能同 setPageName。
>=2.6.6
-
getSessionId
得到 session id
ALL
ALL
getDeviceId
获取设备id,对应数据采集的u
字段,又称为匿名用户id
,用来定义一台设备,SDK 自动生成。
ALL
ALL
trackBanner
设置所有广告图对应的广告内容描述,内容描述需要跟广告的顺序相同。
ALL
-
trackEditText
SDK 默认不采集用户输入框的内容,设置以后,采集除了密码以外的输入框文本内容。
当这个输入框失去焦点(包括应用退到后台),且输入框内容跟获取焦点前相比发生变化时,输入框内文字会被发送回GrowingIO。
注意:对于密码输入框,即便标记为需要采集,SDK也会忽略,不采集它的数据。
ALL
-
trackFragment
如果APP初始化时候,没有设置 trackAllFragment
即不采集全部 Fragment
,可以选择性采集指定 Fragment
,设置之后 sdk 将监听 Fragment
的各个生命周期, 采集相关用户行为数据。
请在 new Fragment
的时候调用此方法。
ALL
-
trackFragmentX
支持 AndroidX , 功能同 trackFragment。
请在 new Fragment
的时候调用此方法。
>=2.6.6
-
trackWebView
采集 WebView
事件,默认采集,您可以在不全量采集WebView
的时候,定制采集某个WebView
<2.6.0
-
trackX5WebView
采集 X5WebView 事件,默认采集
<2.6.0
-
setTabName
如果您有某些View动态添加到ViewTree中并且在父容器中的位置不固定(例如常见的多Fragment实现的Tab切换),请给每个View设置ID来辅助统计
ALL
-
setImeiEnable
设置为 false 则 SDK 不采集 imei,
适用于海外应用市场上架的应用。
>=2.7.8
-
setAndroidIdEnable
设置为 false 则 SDK 不采集 androidId
,适用于海外应用市场上架的应用。
>=2.7.8
-
setGoogleAdIdEnable
设置为 false 则 SDK 不采集 GoogleAdId
,适用于海外应用市场上架的应用。
>=2.7.8
-
Last updated