练习结果
本页译自英文。如两者有出入,以英文页面为准。 阅读英文页面
玩家可以在你的游戏中练习 Lingara 课程计划,他们完成的内容计为 Lingara 练习。玩家工具包运行练习会话,在每个答案给出时为其评分,并在会话结束时报告一次结果。随后结果会作为事件到达你的服务器。
开始会话
会话练习的是玩家拥有的课程计划。获取计划有两种方式。玩家工具包可以请求适合你的世界的练习,这会发送事件 world.practice_requested 并带上 generate: true,然后等待 Lingara 生成的计划。或者游戏可以用玩家的令牌调用 POST /v1/lesson-plans 创建一个计划,这样计划就归玩家所有。无论哪种方式,创建计划都会计入玩家的限额。
演示计划(玩家并不拥有的计划)可以练习,但不能报告:启动其会话时关闭报告。Lingara 会拒绝玩家并不拥有的计划的结果。
工具包报告的结果
会话结束时,玩家工具包会用玩家的令牌发送一个入站事件 world.practice_completed。它的 data 包含:
plan_id:所练习的计划;items:答案,1 到 100 个,每道题最多出现一次;- 每个条目的
set_number(1 到 255)、question(在该组中的位置,0 到 255)以及outcome,取值为correct、incorrect、revealed、self_correct、self_incorrect或skipped之一; completed:玩家是否完成了整个计划。
令牌需要 events:write 和 embed:play。每次报告会消耗玩家的一次入站事件额度,再次发送相同的报告不会改变任何东西。
你的服务器收到的事件
Lingara 对每个被接受的结果以 practice.completed 作答;如果你的客户端持有 events:read 和 embed:play,该事件会通过 webhook、事件源或事件流到达你的服务器。它的 subject 指明玩家,因此请按照服务器工具包页面所述进行路由。它的 data 就是游戏发送的 data:plan_id、items(每个都带有 set_number、question 和 outcome)以及 completed。
结果不会做什么
结果会被记录,你也会收到通知。它不会进入玩家的间隔重复复习:被报告条目中的词语不会因此被安排复习。