Skip to main content
Version: latest

SDK 介绍

腾讯问卷官方 SDK(wj-jspsych-sdk)负责把 jsPsych 采集的数据回传给问卷。实验包必须引入该 SDK,否则无法上传成功。

版本规则

SDK 的主版本号对应它适配的 jsPsych 主版本7.x.x 适配 jsPsych 7 的所有版本,8.x.x 适配 jsPsych 8 的所有版本。同一主版本内的修复与改进会递增次版本号或修订号(如 8.0.1),接入方式不变,替换版本号即可升级。

各主版本的 SDK 文件相互独立、互不依赖,按实验使用的 jsPsych 版本引入其中一个即可。若两者主版本不匹配,实验仍会运行,但控制台会打印告警并提示应改用哪个版本。

引入地址

SDK 版本适配的 jsPsych引入地址
8.0.08.x.xhttps://wj.txresearch.com/psy_task/wj-jspsych-sdk@8.0.0.js
7.0.07.x.xhttps://wj.txresearch.com/psy_task/wj-jspsych-sdk@7.0.0.js
<script src="https://wj.txresearch.com/psy_task/wj-jspsych-sdk@8.0.0.js"></script>

只要保证 SDK 在 initJsPsych() 被调用之前加载即可,与 jsPsych 自身的加载顺序无关。

API

绝大多数实验完全不需要用到,SDK会自动接管数据上报,除非有一些非实验流程但想做一些数据采集可以使用:

WJJsPsych.attach(jsPsych);     // 手动接管一个 jsPsych 实例
WJJsPsych.options({ ... }); // 手动包装 initJsPsych 的配置
WJJsPsych.getInitData(); // 读取问卷下发的历史作答数据
WJJsPsych.send({ score: 12 }); // 手动上报一条数据(key 同样需先声明为自定义变量)
WJJsPsych.finish(); // 手动上报结束信号

更新日志

8.0.0

支持 8.x.x 的 jsPsych 版本。

中断实验的方法适配为 8.x 的命名:abortExperiment()abortCurrentTimeline()abortTimelineByName(),调用后会发送结束信号。

7.0.0

初始版本,支持 7.x.x 的 jsPsych 版本。

  • 自动接管 initJsPsych(),实验代码无需编写任何数据上传逻辑。
  • 逐 trial 上报数据,实验结束或被中断时发送结束信号。
  • 支持读取问卷下发的历史作答数据。
  • 中断实验的方法为 7.x 的命名:endExperiment()endCurrentTimeline()