Send xAPI Statements with Unity
Learn how to create educational games that can send learner data directly to your Learning Record Store.
In order to be successful you'll need:
- An LRS
- Unity
- Json.NET (https://www.newtonsoft.com/json)
- Rustici TinCan.NET
TinCan.NET Documentation: (https://rusticisoftware.github.io/TinCan.NET/)
TinCan.NET Download: (https://github.com/RusticiSoftware/TinCan.NET/releases)
Script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TinCan;
using TinCan.LRSResponses;
using System;
public class StatementSender : MonoBehaviour
{
public string _actor;
public string _verb;
public string _definition;
public int _value = 0;
private RemoteLRS lrs;
// Use this for initialization
void Start()
{
lrs = new RemoteLRS(
"Endpoint",
"Key",
"Secret"
);
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
SendStatement();
}
}
public void SendStatement()
{
//Build out Actor details
Agent actor = new Agent();
actor.mbox = "mailto:" + _actor.Replace(" ", "") + "@email.com";
actor.name = _actor;
//Build out Verb details
Verb verb = new Verb();
verb.id = new Uri("http://www.example.com/" + _verb.Replace(" ", ""));
verb.display = new LanguageMap();
verb.display.Add("en-US", _verb);
//Build out Activity details
Activity activity = new Activity();
activity.id = new Uri("http://www.example.com/" + _definition.Replace(" ", "")).ToString();
//Build out Activity Definition details
ActivityDefinition activityDefinition = new ActivityDefinition();
activityDefinition.description = new LanguageMap();
activityDefinition.name = new LanguageMap();
activityDefinition.name.Add("en-US", (_definition));
activity.definition = activityDefinition;
Result result = new Result();
Score score = new Score();
score.raw = _value;
result.score = score;
//Build out full Statement details
Statement statement = new Statement();
statement.actor = actor;
statement.verb = verb;
statement.target = activity;
statement.result = result;
//Send the statement
StatementLRSResponse lrsResponse = lrs.SaveStatement(statement);
if (lrsResponse.success) //Success
{
Debug.Log("Save statement: " + lrsResponse.content.id);
}
else //Failure
{
Debug.Log("Statement Failed: " + lrsResponse.errMsg);
}
}
}
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Send xAPI Statements with Unity», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.