在 Unity WebGL 中使用 Kii 身份验证时出现系统线程错误

System Threading Error using Kii Authentication with Unity WebGL

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

我有一个基于身份验证令牌让用户登录的功能(允许用户跳过登录屏幕,如果他们之前已经登录并且有 cookie)。

当我点击播放按钮时,该应用程序在 Unity 环境中完美运行。但是,当我在浏览器中本地构建应用程序并 运行 它时,我在控制台日志中收到 "System.SystemException: Thread creation failed." 错误。这个错误似乎是在用户登录后立即发生的。我的登录功能是:

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 构建设置中启用了异常,我可以让我的应用程序保持 运行ning。虽然,这肯定不是长久之计!

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

FireFox Console Log

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

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