- 修复
- 修复 $MPPageLeave 事件 event_duration 字段在 page_show_time 异常(0 或 null)时上报为 Unix 秒级时间戳的问题,增加上限阈值检查(> 86400 秒)后归零处理。
- 新增
- 保证 SDK 中所有的事件的 time 是按照毫秒顺序发送的,如果存在同一时间发送的事件,后触发事件 time 会被自动 +1 毫秒。
- 新增
- 插件 ABTest 新增功能,$ABtestTrigger 事件先缓存当前 distinct_id ,等请求完成后,继续使用之前缓存的 distinct_id 。
- 新增
- 增加 init 前缓存队列的顺序修改。
- 优化
- 给出了小程序合规的标准方案。去除了 appLaunch 的缓存机制。
- 优化
- 把 SF 即时事件的 get 请求改成 post 请求。
- 修复
- v1.22.2 版本中 SF 即时事件插件在 readme 的描述中是配置 instant_events 来筛选事件,实际不生效,现在已修复。
- 新增
- 新增插件,支持神策 SF 的即时事件。
- 新增
- 新增插件,支持 gzip。
- 新增
- 1.21.8 中 ad-channel 插件支持热启动归因,本次把 ad-channel-h5-linker 也增加进来,且文档中备注了,必须使用 use 替换 usePlugin。
- 新增
- 新增插件 duplicate-data,用来去除 time 完全一致数据。
- 新增
- 配置 appShow:true 后,可以开启热启动也支持 SAT 渠道归因。
- 优化
- 优化在某些安全工具下扫描出的 extend 方法的原型链污染的安全问题。
- 新增
- 支持分享的时候使用 async 的语法,但是不能开启 JS 转 ES5,否则还是不支持。
- 优化
- 增加异常判断,曝光插件中删除元素导致的报错。
- 优化
- 考虑到 SAT 参数可能比较长,所以优化最大字符串长度从 500 到 5000。
- 开源协议、demo 等相关修改。
- 优化
- 优化 SAT channel 插件,新增 $ad_landing_page_url (没有 decode 的 $url)。
- 修复
- 1.21 提供的 v2 目录里的文件没有更新,重新打包了。
- 新增
- 新增打包 v2 目录,这个目录下打包的 SDK 去除了 setOpenid、initWithOpenid 等过期 API,且只能用批量发送。后续还会提供更多 v3、v4 等打包目录,去除一些过期或者不用的 API。
- 修复
- 小程序 disable sdk 后还会发送 profile 的问题。
- 新增
- 弹窗支持下发可弹的时间段。
- 修复
- 小程序弹窗点击 image 时候没有 $sf_msg_element_type。
- 新增
- 支持在部分场景下,使用多 SDK。
- 优化
- ID3 内外层匿名 ID 保持一致,不建议使用 loginWithKey, identify 默认是带 true 的结果。
- 新增
sensors.resetAnonymousIdentity重置匿名 ID 的接口。sensors.kit.setData来设置内部 titile 变量,从而解决动态设置 titile 的问题。
- 修复
- 连续调用 track 和 bind,track 数据里有可能会包含 bind 信息的问题。
- 修复
- 自动全埋点和手动全埋点共存的时候,手动全埋点 pageShow 的 referrer 不准确。
- 新增
- 数据发送国密加密插件。
- 修复
- 曝光插件偶尔会报 Cannot read property 'area rate' of undefined 的问题。
- 修复
- 在开启 sampshare 且未定义 path 时,自动生成的 path 不带 query。
- 修复
- 曝光插件,监听元素过多(预计 200 个以上)时候导致内存溢出。
- 新增
- 弹窗支持复杂数据权限。
- 修复
- 修复
PC端微信小程序上报失败的问题。
- 修复
- 新增
- 曝光插件支持过程回调。
- 新增
- 新增
registerPropertyPlugin接口,支持属性的删除和修改。
- 新增
- 修复
- 修复
enableDataCollect接口报错问题
- 修复
- 新增
A/B Testing插件埋点逻辑配置化- 弹窗蒙层点击优化
- 新增弹窗点击回调
- 新增
- 插件优化二期
- 修复
- 修复
ad-channel-h5-linker插件在延迟初始化情况下log方法报错的问题。 - 修复插件不兼容导致的属性缺失问题
- 修复
- 新增
- 支持曝光事件采集
- 新增
- 支持
List列表元素非字符串类型
- 支持
- 修复
ID-Mapping 3.0用户关联协议优化- 修复特殊场景下首次启动不生效的问题
- 新增
- 新增支持非对称加密框架插件
- 支持关闭数据采集
- 新增
- 插件化重构
- 新增支持
webview渠道信息回传插件
- 修复
- 修复无法解绑
$identity_mp_unionid的问题
- 修复无法解绑
- 新增
- 分享事件支持异步采集分享者信息
- 新增
- 新增
referrer_path插件
- 新增
- 优化
- 优化自定义属性插件,可以覆盖预置属性
- 新增
- 新增
getLocation插件
- 新增
- 新增
- 新增
SessionEvent插件
- 新增
- 新增
- 新增广告渠道插件
- 修复
- 删除获取经纬度的功能,修复微信小程序发布代码审核不通过的问题
- 新增
- 新增登录接口
loginWithKey,去除LOGIN_ID_KEY配置
- 新增登录接口
- 修复
- 修复
login传入匿名ID触发$SignUp事件的问题
- 修复
- 新增
- 支持动态配置制定页面的
$MPPageLeave采集规则
- 支持动态配置制定页面的
- 新增
- 支持自定义属性配置插件
- 修复
- 页面浏览时长出现负值的问题
- 属性值为
null和undefined日志提示不准确的问题
- 新增
- 支持合规功能,延迟初始化
- 修复
- 修复
setOpenid接口上报$BindID事件导致后端埋点报错的问题
- 修复
- 新增
- 支持
ID-Mapping 3.0用户关联协议 - 获取预置属性接口返回新增是否首次属性
$is_first_time
- 支持
- 修复
- 修复
Component传空对象,不采集页面浏览事件的问题 - 修复批量发送的
time和_flush_time相同的问题 - 修复部分场景下
$url_path取值不准确的问题
- 修复
- 新增
- 新增支持数据传输加密
- 新增
- 新增所有事件采集
$url、$title、$mp_client_basic_library_version、$mp_client_app_version和$app_version属性
- 新增所有事件采集
- 优化
- 优化
$referrer取值为url完整路径带query参数
- 优化
- 新增
- 数据发送模块重构
- 修复
- 修复返回操作触发页面浏览事件时
$referrer值不准确的问题 - 修复不设置页面标题会出现错误日志的问题
- 修复属性值传空数组会被删除不上报的问题
- 修复返回操作触发页面浏览事件时
- 修复
- 修复
setWebviewUrl方法可能会导致客户参数无法解析的问题
- 修复
- 修复
- 修复
sendPageLeave方法可能导致的报错问题 - 修复
Fortify扫描的安全漏洞问题
- 修复
- 修复
- 修复
setWebviewUrl方法可能会导致客户url中参数丢失的问题 - 修复参数
launched暴露修改方法可能会导致$MPLaunch无法采集的问题 - 修复浏览插件页面退出小程序采集
$MPHide事件时,控制台会捕获到异常的问题
- 修复
- 优化
- 修改初始化配置参数
show_log默认值为fasle - 修改初始化配置参数
max_string_length默认值为500
- 修改初始化配置参数
- 修复
- 修复
ES6语法报错问题
- 修复
- 优化
$SignUp事件去除$is_first_day属性
- 新增
- 新增采集页面浏览时长事件
$MPPageLeave
- 新增采集页面浏览时长事件
- 修复
- 修复特定情况下分享字段解析报错问题
- 优化
fortify安全扫描问题优化
- 新增
- 新增公共预置属性
$referrer_title
- 新增公共预置属性
- 修复
- 修复特定情况下
$referrer取值异常的问题
- 修复特定情况下
- 修复
- 修复开发者工具企业微信小程序模式获取
title报错问题
- 修复开发者工具企业微信小程序模式获取
- 优化
- 优化批量发送 300 条限制逻辑
- 修复
- 修复自定义属性被预置属性覆盖问题
- 修复
Taro 3.1及以上框架,小程序内嵌元素自定义属性无法采集的问题
- 新增
$url_path设置为所有事件都有的预置属性
- 修复
- 修复页面浏览事件自定义属性值
$title被覆盖问题
- 修复页面浏览事件自定义属性值
- 优化
- 可配置特定控件不采集全埋点点击事件逻辑优化
- 新增
- 支持在微信小程序中跟内嵌
H5打通 - 支持对特定控件不采集全埋点点击事件
- 支持分享到朋友圈单页模式下页面的数据采集
- 支持在微信小程序中跟内嵌
- 新增
- 新增
tabBar点击事件自动采集 - 新增
getServerUrl接口 - 默认开启批量发送
- 新增
- 修复
- 修复
ES6语法报错问题
- 修复
- 新增
- 新增预置属性
$brand和$geo_coordinate_system,统一$network_type属性值为大写
- 新增预置属性
- 修复
- 修复自定义全埋点
$MPViewScreen缺少$title预置属性
- 修复自定义全埋点
- 新增
- 新增本地
storage加密
- 新增本地
- 修复
- 修复页面参数含有
scene时$url_query为空问题;
- 修复页面参数含有
- 新增
TS文件新增对setOpenid方法的声明
- 优化
- 优化定时器,减少
setTimeout方法使用; - 优化点击事件优先级处理;
- 优化定时器,减少
- 修复
- 修复延迟初始化时,注册事件属性不一致问题;
- 新增
- 增加
_flush_time和_track_id属性; - 新增
ts声明文件
- 增加
- 新增
- 页面浏览事件新增采集
$title;
- 页面浏览事件新增采集
- 优化
- 优化场景值映射,SA 需升级到
2.1.5107及以上版本,SDG 需升级到0.7.5159及以上版本; - 优化打印日志方法;
- 优化场景值映射,SA 需升级到
- 修复
- 修复点击事件埋点 bug;
- 新增
- 页面浏览采集可配置;
- 所有事件可配置采集 $url_path;
- 优化
- 全埋点优化,支持所有框架采集;
- ID 修改逻辑优化,增加 ID 规则校验;
- 新增
- 新增 SF 渠道属性采集
- 新增
- 新增经纬度采集;
- 优化
- 获取场景值功能优化;
- 新增
- 新增获取匿名 ID 接口;
- 优化
- 获取预置属性接口新增是否首日属性;
- 新增
- 新增收藏预置事件,分享事件区分转发朋友圈和分享消息卡片;
- 支持注册动态公共属性;
- 修复
- 小程序 sa_utm 解析 bug 修复;
- 微信小程序 $MPViewScreen 事件 utm 信息解码;
- 新增
- 新增事件监听功能
- 新增
- 新增所有事件都有的预置属性
$app_id、$timezone_offset
- 新增所有事件都有的预置属性
- 修复
- 修复
WePY框架运行npm run build时语法不兼容问题;
- 修复
- 优化
- 优化点击预置事件中
$url_path预置属性的采集逻辑;
- 优化点击预置事件中
- 优化
- 优化预置事件
$MPLaunch、$MPShow中$share_depth的计算逻辑;
- 优化预置事件
- 新增
- 新增所有事件都有的预置属性
$latest_share_depth、$latest_share_distinct_id、$lastest_share_url_path,神策分析系统需升级到1.14.7451.16.14141.15.14131.13.5875及以上版本;
- 新增所有事件都有的预置属性
- 修复
- 修复点击处理函数参数为
null时,点击预置事件报错问题;
- 修复点击处理函数参数为
- 新增
- 新增预置点击事件
$MPClick可通过配置确定是否采集功能; - 插件版
SDK支持Component构造器构造的页面的预置事件采集功能;
- 新增预置点击事件
- 优化
- 优化批量发送方式下请求取消时长配置;
- 新增
- 新增预置点击事件 $MPClick 采集功能;
- 新增 logout() 接口;
- 优化
- 优化
identify()接口逻辑; - 批量发送方式下,默认请求取消时长修改为
10s;
- 优化
- 更新
- 更新场景值描述
- 修复
- 修复使用批量发送方式发送数据时,网络从无网切换到有网时,数据无法发送的问题
- 优化
onLaunchonShow生命周期函数中,参数对象中获取不到scene值时的处理逻辑
- 修复
- 修复参数中同时带有
scene与渠道信息时,无法解析渠道信息 - 修复多场景下扫描普通二维码时
q参数的渠道解析逻辑
- 修复参数中同时带有
- 新增
- 新增渠道参数映射功能
- 优化
- 优化最近一次渠道参数解析规则
- 优化
- 优化扫描普通网页二维码的兼容性处理
- 没有
init前的队列做了清空 - 为了兼容
page在onshow时候,加自定义参数,去除了代码中$MPViewScreen的自定义方法
- 优化:server_url为空时候,不发数据。
- 新增:所有事件增加 anonymous_id 属性,如果调用了 login 方法,就增加 login_id 属性。
- 例行更新:场景值的描述
- 优化:默认decode了option.query的值。分享时候自动拼接的的query还是保持不变。
- 新增:增加配置 is_persistent_save ,支持将最近一次站外渠道信息永久保存到 Storage 中
- 优化:给未定义 Component 时候一个默认值
- 新增:支持自定义 utm 参数。通过配置 source_channel:['...','...']
- 优化:storage 数据写入失败的话,会打印出失败的原因
- 优化:$os的取值增加devtools,优化了$os和$os_version算法
- 优化:$url_query在$MPViewScreen中没有值时候,从未知改成空
- 新增:$MPViewScreen 增加了 UTM 相关属性的解析
- 例行更新:场景值的描述
- 新增:支持非插件模式下用Component作为页面构造器时候的,页面浏览自动采集功能,包括以下两种情况 1.原生小程序直接使用Component作为页面构造器 2.框架使用Component作为页面构造器,包括 Taro,Uniapp,wepy2
- 增加了获取匿名ID的方法 sensors.quick('getAnonymousID')
- 同步小程序场景值描述
- server_url 默认地址为空
- 存储读取异常时候会重试
- 获取预置属性方法可获取到 latest 相关属性
- 增加 appendProfile 与 incrementProfile 缓存
- 增加两个 profile的操作 sa.appendProfile({catrgory: ['玉米']}) 喜爱的蔬菜增加玉米 和 sa.incrementProfile({'navClick': 1}) 导航点击次数 +1次
- 重大更新,去除了sensorsdata_conf.js,配置改成在 App.js中,通过 sensors.setPara({})或者在sensors.init({})中加入
- 分成三个文件,sensorsdata.min.js全埋点的非插件版,sensorsdata.plugin.min.js全埋点的插件版,sensorsdata.custom.min.js手动埋点版本支持插件和非插件。具体各个版本的用法参考文档。另外增加es6格式的对应版本
- 修复12.10的bug,如果更新1.12.10的用户,必须更新到1.12.11
- 修复$url_query在返回时候取值的错误,修复当没有onShareAppMessage没有return值,且使用allow_amend_share_path时候,自动补全的url只有path没有query的问题
- 去除了page在show的时候,解析utm参数和scene的功能,统一在app里解析
- 增加自动采集$first_visit_time 首次访问时间
- 增加 datasend_timeout 配置请求最大链接多久取消
- getPresetProperties去掉registerApp的属性
- 修复自动获取openid的url在某些特殊条件下的bug
- 增加批量发送最大数据量,batch_send:{send_timeout:6000,max_length:6}
- registerApp 方法不做缓存
- 增加 batch_send 批量发数据的配置,设置为空对象或者true,表示开启这个功能,必须更新神策分析到最新版,否则去重功能无效
- 增加 autoTrackIsFirst的配置,不设置默认是先执行onLaunch等事件中的代码,(如果使用动态修改预置属性的功能会有影响!!!),后发送appLaunch的统计数据,可以单独给各个预置事件单独设置先后发送顺序
- 增加sa.quick('appLaunch',arguments,prop) 等单独发预置事件和属性的功能
- 修复 autoTrack.pageShow 设置 false 仍然发送 $MPViewScreen 的问题
- 增加init的多次使用的判断,去掉$MPLaunch,$MPShow中获取到的path带/的异常判断
- 小程序identify和login如果传入的是非字符串时候,自动转化字符串类型
- 增加对onShareAppMessage返回空对象的判断
- 修复在开启自动采集分享,且定义空的onShareAppMessage时候,控制台报错的问题
- 更新支持插件的小程序 SDK 具体用法参考 https://sensorsdata.cn/manual/mp_sdk_plugin.html
- 更新 $manufacturer 设备制造商(brand),修正 $screen_width的 取值(windowWidth)
- 增加 $url_query
- 增加 sa.initWithOpenid(options,callback) callback(openid)
- 增加sa.status.referrer sa.status.laster_referrer