使用Unity WebGL的Kii身份验证的系统线程错误

时间:2017-04-11 22:28:29

标签: unity3d unity-webgl kiicloud

我使用C#编写的Unity创建WebGL应用程序。

我有一个功能,可以根据身份验证令牌记录用户(如果他们之前已经登录并且有cookie,则允许用户跳过登录屏幕。)

当我点击播放按钮时,应用程序在Unity环境中完美运行。但是,当我构建应用程序并在浏览器中本地运行它时,我得到一个" System.SystemException:线程创建失败。"我的控制台日志中出错。用户登录后似乎就会发生此错误。我的登录功能是:

public void loginWithAccessIDToken(string accessIDToken, Action<KiiUser> success)
    {  
        //Use the access token to sign-in again
        try
        {
            Debug.Log("About to log in...");

            KiiUser.LoginWithToken(accessIDToken, (KiiUser user, Exception e) =>
            {
                UnityEngine.Debug.Log("Got Something!");
                if (e != null)
                {
                    User = null;
                    success(User);
                    UnityEngine.Debug.Log("Exception caught...");
                }
                else
                {
                    User = user;
                    success(User);
                    UnityEngine.Debug.Log("Login successful...");
                }
            });
        }
        catch (Exception e)
        {
            Debug.Log("Exception caught..." + e.Message);
            success(User);
        }
    }

我还附上了我在Firefox下面收到的错误的屏幕截图。在我看来,Kii正在做某种线程。我在网上看到WebGL不支持线程..但是,我对Kii试图做的事情没有很好的理解!

有没有人有经验在他们的应用程序中实现这个逻辑?如果我在Unity构建设置中启用了例外,我可以保持我的应用程序运行。虽然,这肯定不是一个永久的解决方案!

如果有人有任何建议或想了解有关我的构建设置的更多信息,请询问。

FireFox Console Log

1 个答案:

答案 0 :(得分:0)

目前,WebGL中的System.Threading命名空间不可用。不幸的是,听起来这个问题存在于第三方库中。

为了支持WebGL,您可以使用协程而不是线程,但听起来您必须联系Kii的开发人员。