插件使用方式
目前 Web/小程序 逐步演变为插件化的架构方式。“一切都是插件” 的概念会越发的明显。
在使用插件前,请务必参考 插件使用方式。
现有插件列表和使用方式
插件根目录为 /dist/web/plugin/, 插件所在目录为相对插件根目录的地址。
内置未使用插件
内置未使用的插件,需要手动调用 use 方法,传入插件名称。例如:使用内置未使用的 PageLeave 插件。
import sensors from '/dist/web/sensorsdata.es6.js';
sensors.use('PageLeave', option);
sensors.init({
...初始化参数
})
插件名称(在 SDK 中的插件变量名) | 插件所在目录(/dist/web/plugin/) | 插件描述 | 使用说明 | 使用插件最新版本要求的最低版本 | 在 /dist/web/ 下的 SDK 是否内置 | |
---|---|---|---|---|---|---|
1 | Amp | amp | google amp | 使用文档 | v1.24.1 | 内置 |
2 | SensorsChannel | channel | 渠道链接监测和回传 | 使用文档 | v1.24.1 | 内置 |
4 | Deeplink | deeplink | 深度链接 | 使用文档 | v1.24.1 | 内置 |
5 | PageLeave | pageleave | 页面浏览时长 | 使用文档 | v1.24.1 | 内置 |
6 | PageLoad | pageload | 页面加载时长 | 使用文档 | v1.24.1 | 内置 |
7 | RegisterPropertyPageHeight | register-property-page-height | 采集页面高度属性 | 使用文档 | v1.24.1 | 内置 |
8 | SiteLinker | site-linker | 多域名打通 | 使用文档 | v1.24.1 | 内置 |
外置插件
外置插件需要手动集成插件,并手动使用。例如:使用外置的 session-event 插件。
import sensors from '/dist/web/sensorsdata.es6.js';
import sessionEvent from '/dist/web/plugin/session-event/index.es6.js';
sensors.use(sessionEvent);
sensors.init({
...初始化参数
})
插件名称(在 SDK 中的插件变量名) | 插件所在目录(/dist/web/plugin/) | 插件描述 | 使用说明 | 使用插件最新版本要求的最低版本 | 在 /dist/web/ 下的 SDK 是否内置 | |
---|---|---|---|---|---|---|
1 | AesEncryption | aes-encryption | AES 加密插件 | 使用文档 | v1.24.1 | 外置 |
2 | Exposure | exposure | 元素曝光事件采集 | 使用文档 | v1.24.1 | 外置 |
3 | SessionEvent | session-event | 12h/30min session 切割事件采集插件 | 使用文档 | v1.24.1 | 外置 |
4 | SiteLinkerConcatUtm | site-linker-concat-utm | 多域名打通插件(携带 utm 参数) | 使用文档 | v1.24.1 | 外置 |
5 | WechatWebViewChannel | wechat-webview-channel | 小程序 webview 渠道归因 | 使用文档 | v1.24.1 | 外置 |
6 | SensorsABTest | abtesting-sdk-web | Web A/B Testing - Web A/B 测试 | 使用文档 | v1.24.1 | 外置 |
7 | Popup( H5 版) WebPopup( Web 版) | sf-sdk-miniprogram | Popup - 弹窗 ( H5 和 Web ) | 使用文档 | v1.24.1 | 外置 |
8 | GeneralEncryption | general-encryption | 非对称加密上报数据 | 使用文档 | v1.24.3 | 外置 |
9 | CustomEventsSender | custom-events-sender | 自定义数据接收端 | 使用文档 | v1.24.8 | 外置 |
10 | SfInstantEvent | sf-instant-event | SF - 即时事件上报 | v1.24.8 | 外置 | |
11 | ChannelUtm | channel-utm | 广告渠道 utm 参数采集 | 使用文档 | v1.24.1 | 外置 |
12 | SMEncryption | sm-encryption | 国密加密插件 | 使用文档 | v1.25.20 | 外置 |
内置已使用插件
内置已使用插件为 Web SDK 默认功能(仅供参考)。请勿手动集成和使用!!
插件所在目录 | 插件描述 | 使用说明 | 使用插件最新版本要求的最低版本 | 在 /dist/web/ 下的 SDK 是否内置 | |
---|---|---|---|---|---|
1 | android-bridge | Android 平台 | 使用文档 | v1.24.1 | 内置已使用 |
2 | android-obsolete-bridge | Android 平台旧版本打通 | 使用文档 | v1.24.1 | 内置已使用 |
3 | ios-bridge | iOS 平台打通 | 使用文档 | v1.24.1 | 内置已使用 |
4 | ios-obsolete-bridge | iOS 平台旧版本打通 | 使用文档 | v1.24.1 | 内置已使用 |
5 | utm | utm 渠道来源 | 使用文档 | v1.24.1 | 内置已使用 |
6 | disable-sdk | 禁用/启用 SDK 采集 | 使用文档 | v1.24.5 | 内置已使用 |
7 | ajax-sender | Ajax 发送数据 | 使用文档 | v1.24.8 | 内置已使用 |
8 | batch-sender | 批量发送数据 | 使用文档 | v1.24.8 | 内置已使用 |
9 | beacon-sender | beacon 发送数据 | 使用文档 | v1.24.8 | 内置已使用 |
10 | debug-sender | debug 发送数据 | 使用文档 | v1.24.8 | 内置已使用 |
11 | image-sender | image 发送数据 | 使用文档 | v1.24.8 | 内置已使用 |
12 | jsapp-sender | 自定义存储采集数据并自定义发送时机 | 使用文档 | v1.24.8 | 内置已使用 |
第三方插件
以上插件都是神策官方维护的,相对来说比较通用的插件。因为需求越来越多,客户的一些插件是定制型的,不适合神策官方开发,此时我们强烈推荐自己开发第三方插件。
为了提供三方插件的共享,建立了 插件共享仓库 ,你这边可以把开发好的代码提交到这里。
如果你有开发第三方插件实现自己定制化需求的意愿,可以在以下渠道联系到我们。目前第三方插件开发处于起步阶段,我们研发会给予足够的支持。
- 在 GIthub issue 讨论
- 联系研发邮箱
- 正式客户微信群中找技术顾问咨询
注意:第三方插件也是外置插件,使用方式跟外置一样。
注意
- 插件的版本必须和 SDK 一致,只要有一方升级,两边都需要同时更新。切记,不要只更新一侧。
- 在 v1.24.1 版本后,使用 /dist/web/ 目录,就可以实现同时更新。因为 SDK 和 插件都在这个目录,只要引用都指向这里,就可以同时更新。
- 这里的 SDK 版本要求,是拥有当前插件最新功能时,要求的最低 SDK 版本。
- 插件没有自己的版本号,插件有修改,整体版本会增加
- 如果 github 访问不了的话,也可以下载 npm 在本地目录的 /dist/web/plugin 查看