如何解决Xapi 不适用于 Android 设备,但适用于 Unity 编辑器
我有一个应用程序,它使用 XAPI 将确定的信息发送到数据库并显示它,当我在计算机上的 Unity 编辑器中运行该应用程序时,XAPI 通信工作正常,但是当我将 APK 放在我的手机中时不发送信息,当尝试多个语句时,应用程序会冻结。我在视频中实现了 XAPI:https://www.youtube.com/watch?v=zX8Pq9STvoo 并且计算机或移动设备都与 lrs 不在同一个网络中。凭据是正确的,因为报表可以与编辑器一起发送。发送函数如下:
void SendStatement_key(string verb_key,string actor_key,string deFinition_key)
{
//Build out Actor details
Agent actor = new Agent();
actor.mBox = "mailto:"+ actor_key.Replace(" ","")+"@learninglocker.net";
actor.name = actor_key;
//flag_4.change_bool_false();
//Build out Verb details
Verb verb = new Verb();
verb.id = new Uri("http://www.example.com/" + verb_key);
verb.display = new LanguageMap();
verb.display.Add("en-US",verb_key);
//Build out Activity details
Activity activity = new Activity();
activity.id = new Uri("http://www.example.com/" + deFinition_key.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_key));
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);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。