不初始化SDK时不会发网络请求。
app_launch:当用户启动APP或者进入前台的时候,SDK内部会产生一个Launch事件。
app_terminate:iOS是在用户切后台后(包括锁屏),立刻算作Session结束,会产生一个Terminate事件;而Android是当用户在后台停留30s后(包括锁屏),然后在下一次打开监听到超过30s才会生成terminate。
SDK有cn(国内)和global (海外)两种版本均满足国内海外的合规要求,如果想了解具体用户信息,请参考https://www.volcengine.com/docs/6285/72216
私有部署,SDK不会向字节服务器发送信息。
客户端: 客户端SDK初始化时会请求分流服务(http服务),之后每10min(abtest_fetch_interval)请求一次分流服务,获取分流结果(即用户命中的实验及分流的版本),并缓存在SDK本地。客户调用SDK中的API获取分流结果时,本质上是从缓存中直接读取结果,没有发生http请求。
服务端: 服务端SDK,会在初始化时请求meta服务(基于mysql的http服务),之后每隔一段时间请求一次meta服务(间隔时间可以通过SDK的API进行设置,默认是60秒更新)获取实验的元信息(非分流结果),并缓存。客户调用SDK中的API获取分流结果时,本质上是SDK使用实验元信息在本地进行分流,并没有发生http请求
可以参考官方帮助文档的手动集成处的SDK链接。
事件采集可以关闭,但是关闭后AB系统就不会有相应的数据,所以实验和Feature在运行状态,并且想看实验报告数据,不建议关闭 abtest_exposure 事件采集。
每隔10分钟(600s)会重新请求一次分流结果,但是可以通过客户端提供的 pullAbTestConfigs 方法拉取最新的分流结果。
上报事件后,一般情况下5-10分钟就可以在系统中看到对应的数据,因为数据需要经过采集,处理,构建,入库等相关步骤。
客户端SDK是批量上报,具体策略如下:
客户端SDK提供实时获取分流结果的api:pullAbTestConfigs(),该方法也可以在子线程中执行。
客户端SDK:Finder和A/B共用一套SDK,Finder使用SDK的上报能力,A/B使用SDK的分流和上报能力。
服务端SDK:Finder和A/B是两套SDK,Finder服务端SDK具有自定义事件上报能力,A/B服务端SDK具有分流能力和预置曝光事件上报能力。
客户端SDK:Finder和A/B是同一套客户端SDK,只需要打开下A/B开关就OK,并且需要在代码中放获取实验参数相关代码,对于APP任何代码上的变动都需要重新发版。
服务端SDK:Finder和A/B是不同的服务端SDK,需要单独参考帮助文档集成。
appid 是应用的唯一标识,多端是否选择同一个appid取决于是否需要做数据打通,因为不同应用间数据是隔离的。如果是同一个应用且希望在一个应用内分析这些数据就上报在一个应用下,如果希望数据隔离,请创建不同的实验,并指定对应的appid进行事件上报。
暂不支持。
不支持。
Android和iOS支持,小程序和Web/JS暂时不支持。初始化时设置开启屏幕方向采集,开启后所有上报事件的 params 中会增加参数:
iOS
config.screenOrientationEnabled = YES;
Android
config.setSecreenOrientationEnabled(true);
具体请参考官网文档中关于“打通内嵌 H5 页”部分。
如果要完整看用户的链路行为,需要做APP内嵌H5的打通,但是打通之后没办法在APP内嵌H5侧做A/B实验,如果要做A/B实验,需要在APP侧做实验,因此每一次实验都需要客户端发版支持;
如果APP和H5比较独立,也不关注用户的完整链路行为,那么就不需要做数据打通,H5集成H5 SDK,APP集成APP SDK,系统中也是分别查看APP和H5的数据,H5做实验直接按照文档集成即可;
如果APP和H5不做数据打通,但是想关联,目前也就只能做到实名用户关联,需要APP和H5都设置uuid,并且两个uuid保持一致,匿名用户等都没办法关联。H5做实验直接按照文档集成,但是对于H5做的实验,也没办法把APP的埋点行为当成实验指标。
目前SDK仅支持原生WebView与腾讯 X5打通,暂不支持其他框架。
不是,Android的ssid会存到sharedpreference,iOS的ssid会存到userdefaults,卸载之后ssid就没了。
1.4.0版本开始支持全埋点功能,引入请参考文档:https://www.volcengine.com/docs/6285/357814
详情参考此功能:https://www.volcengine.com/docs/6285/148442
APP端page_path 是点击的元素所在页面,在 autoTrack.config 中配置的,这个不配置的话就没有值。参考文档:https://www.volcengine.com/docs/6285/148442#_3-2-%E9%85%8D%E7%BD%AE-rn-%E9%A1%B5%E9%9D%A2