旧版本与3.8对比

本文将介绍旧版本与3.8版本的差异,方便您充分了解差异并放心的升级。文中将仅列出差异之处,共同之处将不再赘述。

架构调整

我们将各个主模块进行了独立拆分,方法调用都是单向的,这大大降低了代码的耦合度,减少了出现缺陷的风险。

功能上,我们对各个模块进行了重新设计和完全的代码重写和拆分,进一步捋清了代码逻辑。抛弃了大量原有的冗余和过时逻辑,这对于减小SDK占用大小有很大的意义。下面是与旧版本的对比示例(均以原生开发微信小程序为例):

旧版本SDK(含埋点+无埋点+加密功能)大小约 58 KB

新版本SDK(含埋点+无埋点+加密功能)大小约为 48 KB,较旧版本节约 10 KB

关于版本号

由于我们只是在架构层面进行调整,功能上和使用上与旧版本无太大变化,所以我们并没有直接进入4.0。

关于旧版本

旧版本我们也会继续维护,但仅限于重大问题的修复。

差异点

初始化

移除项: enableEventStoreusePluginvuegetLocation(含autoGet和type)comAsPage 配置项,setConfig 方法。

初始化配置项 enableEventStore 字段废弃;3.7.4版本起为解决没有使用运营SDK却导致存储超限问题而提供的配置项,重构后已改造此模块,因此废弃。未使用无影响,已使用直接移除即可。

初始化配置项 usePlugin 字段废弃;未使用无影响,已使用直接移除即可。

初始化配置项 vue 字段废弃;使用其他实例字段代替。

初始化配置项 getLocation 字段废弃;未使用无影响,已使用请参考 setLocation 方法;用于弥补移除了自动获取位置的功能。参考文档

初始化配置项 comAsPage 字段 3.8.10 起废弃;未使用无影响,已使用直接移除即可。

初始化方法 setConfig 废弃,仅支持通过 init 方法进行初始化;因为它容易歧义误导使用。

新增项: wepyuniVuetaroVueremax 配置项。

新增 wepyuniVuetaroVueremax 配置项字段;用于准确传入不同框架的实例。

数据采集API

移除项: getLocation 方法。

自2022年4月18日起,微信官方修改了相关权限,获取位置信息将需要开通对应功能权限,为避免没有使用位置信息的小程序上线审核被驳回,我们废弃了getLocation方法。

新增项: setOptionsetLocation 方法。

新增 setOption 方法;用于统一动态设置SDK配置项。参考文档

新增 setLocation 方法;用于弥补移除了自动获取位置的功能。参考文档

功能点新增、优化、问题修复

1、新增uni-app vue3taro3 vue3remax的支持。

2、调用 setUserId 的API,设置或切换有效的登录用户ID时,会自动补发 VISIT 事件。

3、带有 autoplay 属性且值为 true 的原生组件(例如:swiper、video)产生的change事件会被自动忽略,如果您想采集它,请参考无埋点采集逻辑和高级配置

4、在<3.8的旧版本中,使用taro或者uni-app框架开发的小程序在某些特定场景下可能会丢失自定义采集标记,我们在3.8版本中我们修复了它。

5、在<3.8 的旧版本中,您只能通过下载 SDK 文件至本地项目的方式来集成 SDK。从 3.8.0 的版本开始,您还可以通过 npm 的方式来集成 SDK。

最后更新于