获取 xApi 语句中返回的进度

Getting progress returned in xApi statements

我正在寻找有关已启动的 xApi 包的一些信息。

如果我从我自己的应用程序启动一个程序包并按照课程进行到底,在我的 LRS 中我可以看到详细说明我开始、尝试、经历并通过 activity 的声明,但没有任何相关内容到课程进度 / activity.

我指的是参加课程的用户可以看到的总体进度(百分比),因此对于每个陈述,无论是 'experienced'、'attempted' 还是其他任何内容,我我想 return 这个百分比完成。

** 编辑 **

找到此信息,但不确定如何以及在何处使用它:

"如果您想跟踪课程进度,请在标题级别添加这两个操作: 正在显示 - xAPI 语句 - 已尝试 - VAR(CurrentPageName) 隐藏 - xAPI 语句 - 完成 - VAR(CurrentPageName)"

我注意到的是语句记录如下: Damion Daly 已尝试 Activity(无姓名) 这让我认为我没有在查询字符串中正确传递 activity,因此无法获取有关 activity 的所有信息,这是正确的吗?

如果有任何帮助,我将按如下方式启动我的程序包。

protected async void OpenIndexWithQryString1(object sender, EventArgs e) 
{ 
    string _course = await s.GetCourseTitle(); 
    string content = "[url to where our content is]" + _course + "/index.html"; 
    string endpoint = "[LRS endpoint]"; 
    string auth = "Basic (auth key)"; 
    string actor = "{\"objectType\":\"Agent\",\"name\":[\"user name\"],\"mbox\":[\"test@mail.com\"]}"; 
    string registration = "(reg token)"; 
    string activity = "http://example.cpm/my-activity3/"; 
    string querystring = content + "?endpoint=" + endpoint + "&auth=" + auth + "&actor=" + actor + "&registration=" + registration + "&activity_id=" + activity; 
    bool b = ResponseHelper.Redirect(Uri.EscapeUriString(querystring), "_blank", "menubar=0,width=100,height=100"); 
}

这听起来像是内容创作工具的特定问题,并不是 xAPI 的核心。通过内容记录进度可以通过多种方式完成,并且通常不依赖于内容的启动方式。通常在 xAPI 中,语句的特定部分或整个语句将记录体验的进度。例如,在 cmi5 中,AU 的进度是通过扩展记录的,有关更多信息,请参见 https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md#result_extensions_progress。 (请注意,此内容不是基于 cmi5 的,因此可能打算做不同的事情。)

至于 Activity 的 "name",它通常来自 Activity 定义,不会作为您使用的启动过程的一部分提供。 LRS 需要接收该定义作为声明的一部分,或者需要与处理包的发射系统集成,可能是通过一个基于 tincan.xml 的包,其中可以包含定义元素。请注意,在检索语句时可能还需要传递 canonical 查询字符串参数,以便在可能的情况下获得完全填充的定义。