2017-04-11 36 views
1

我使用C#編寫的Unity創建WebGL應用程序。通過Unity WebGL使用Kii身份驗證的系統線程錯誤

我有一個基於身份驗證令牌記錄用戶的功能(如果用戶之前已登錄並且擁有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

回答

0

System.Threading命名空間是目前在WebGL的不可用。不幸的是,這聽起來像是這個問題存在於第三方庫中。

爲了支持WebGL,你可以使用協程而不是線程,但是這聽起來像你必須聯繫Kii的開發者。

+0

你很可能是正確的。我還在Kii Community Boards上發佈了這個問題,有人發佈說WebGL中不支持Kii SDK。他們的文檔不太清楚,他們的SDK只適用於Unity的Web Player。 –