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 (将#修改为@)