跳转至

接入Prolific

Prolific提供一个面向科研的招募被试的服务。将jsPsych编写的实验接入Prolific需要记录被试的ID并在实验结束后跳转到特定的一个URL。

记录Participant ID, Study ID, and Session ID

在Prolific上创建研究时,我们需要提供研究的URL。在把实验托管到服务器上后(详见运行实验),就有了实验的URL, 我们此时需要把该URL填写到Prolific的 study link 部分,然后点击通过URL记录Prolific ID选项。

Prolific screenshot

这样,就会把被试的prolific ID (PROLIFIC_PID),研究的ID (STUDY_ID)和session的ID (SESSION_ID)添加到被试访问实验的URL后面。

jsPsych中会记录这些变量并添加到数据中。可以在代码中任意部分执行该功能,而不需要再时间线中进行。

<script>
  var jsPsych = initJsPsych();

  // capture info from Prolific
  var subject_id = jsPsych.data.getURLVariable('PROLIFIC_PID');
  var study_id = jsPsych.data.getURLVariable('STUDY_ID');
  var session_id = jsPsych.data.getURLVariable('SESSION_ID');

  jsPsych.data.addProperties({
    subject_id: subject_id,
    study_id: study_id,
    session_id: session_id
  });

  // create the rest of the experiment
  var timeline = [...]

  jsPsych.run(timeline)
</script>

结束实验

实验结束时,Prolific要求将被试跳转到Prolific服务器上标志着session结束的一个URL上。该链接由Prolific在设置阶段的 study completion 部分提供。

Prolific Study Completion Screenshot

我们可以用多种方式实现这个功能。

警告

在被试回到Prolific之前,我们需要保存数据。请确保在此之前,已经完成了和服务器之间的通讯。解决方法之一是使用call-function插件中的异步功能 (参照这个示例)。

被试点击链接

方法之一是创建一个包含链接的试次,被试可以通过点击链接结束实验并返回Prolific。例如,html-keyboard-response插件可以用来呈现包含链接的文字。我们可以在debrief阶段呈现该链接。

下面的示例中展示了该如何实现这一功能。注意,我们将choices设置为了jsPsych.NO_KEYS,以方便我们将实验停在当前位置。

var final_trial = {
  type: jsPsychHtmlKeyboardResponse,
  stimulus: `<p>You've finished the last task. Thanks for participating!</p>
    <p><a href="https://app.prolific.co/submissions/complete?cc=XXXXXXX">Click here to return to Prolific and complete the study</a>.</p>`,
  choices: "NO_KEYS"
}

自动跳转

另一个方案是在实验结束后自动将被试跳转到完成页面。我们可以在jsPsych的时间线中加入这一功能。

下面的示例中在on_finish中加入了自动跳转。

var jsPsych = initJsPsych({
  on_finish: function(){
    window.location = "https://app.prolific.co/submissions/complete?cc=XXXXXXX"
  }
});