내 게임에서 Facebook Unity SDK와 함께 Parse Unity SDK를 사용하여 사용자가 Facebook 계정으로 로그인 할 수 있습니다.ParseFacebookUtils.LogInAsync는 WebPlayer에서만 오류를 발생합니다.
휴대 전화 (Android 및 iOS)와 편집기에서 잘 작동합니다.
: 페이스 북 캔버스 (웹 플레이어)에서, 모든 브라우저 (크롬, 사파리, 파이어 폭스) 내 주요 세션 (관리자), 내 컴퓨터 (맥 미니),에,이 코드를 호출 할 때 오류가 발생
ABOUT TO LOGIN
TrySetSetString can only be called from the main thread.
Constructors and field initializers will be executed from the loading thread when loading a scene.
Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
IN TASK
[FacebookManager] Error LogInAsync
System.AggregateException: Exception of type 'System.AggregateException' was thrown.
---------
System.ArgumentException: TrySetSetString can only be called from the main thread.
Constructors and field initializers will be executed from the loading thread when loading a scene.
Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
at (wrapper managed-to-native) UnityEngine.PlayerPrefs:TrySetSetString (string,string)
at UnityEngine.PlayerPrefs.SetString(System.String key, System.String value)[0x00000] in /Applications/buildAgent/work/___SOME_ID____/artifacts/WebPlayerGenerated/PlayerPrefsBinding.cs:62
at Parse.PlatformHooks+SettingWrapper.Save()[0x00000] in <filename unknown>:0
at Parse.PlatformHooks+SettingWrapper.set_Item (System.String key, System.Object value) [0x00000] in <filename_unknown>:0
at Parse.ParseUser.SaveCurrentUser(Parse.ParseUser user) [0x00000] in <filename unkwnown>:0
at Parse.ParseUser.<SignUpAsync>b__0 (Sustem.Threading.Tasks.Task _) [0x00000] in <filename unknown>:0
at Parse.Internal.InternalExtensions+<>c__DisplayClassa.<OnSuccess>b__9 (System.Threading.Tasks.Task t) [0x00000] in <filename unknown>:0
at Parse.Internal.InternalExtensions+<>c__DisplayClass7`1[System.Object].<OnSuccess>b__6 (System.Threading.Tasks.Task t) [0x00000] in <filename unknown>:0
at System.Threading.Tasks.Task+<>c__DisplayClass3`1+<>c__DisplayClass5[System.Threading.Tasks.Task`1[System.Object]].<ContinueWith>b__2() [0x00000] in <filename unknown>:0
이 오류는 내 컴퓨터에 다른 세션에 표시되지 않으며, 어느 팀 동료 '시스템에 표시되지 않습니다 다음과 같이
Debug.Log("ABOUT TO LOGIN");
ParseFacebookUtils.LogInAsync( FB.UserId,FB.AccessToken,
FB.AccessTokenExpiresAt).ContinueWith(x =>
{
Debug.Log("IN TASK");
if(x.IsFaulted || x.IsCanceled)
{
Debug.LogError("[FacebookManager] Error LogInAsync");
Debug.Log(x.Exception);
}
else
{
// Connection successful
// ...
}
}
// CODE CONTINUES...
출력이다. 여기
내가 (순서대로 반드시) 지금까지 뭘하려 :- 클리어 브라우저는 개인 탐색 모드
- 에 시도
- 삭제 unity3d.com/webplayer/setup에가는 캐시 모든 캐시 된 파일
- unity3d.com/webplayer/setup을 사용하여 파일 캐싱을 사용하지 않음
- Unity 웹 플레이어를 제거하고 새로 설치 (Chrome에서 다운로드) 01
- 모두 의의
- 제거 유니티 웹 플레이어, 복사 RW 디스크 내 컴퓨터에서
- 변경된 PlayerPrefs 폴더의 권한과 파일을 모두 WebPlayerPrefs을 삭제 (파이어 폭스에서 다운로드) 23,516,
- 제거하고 신선한 유니티 웹 플레이어의 설치 유니티 웹 플레이어 오류가
Additionaly LogInAsync 전에 내 코드에서`PlayerPrefs.DeleteAll()를 포함하여 수동으로
나는이 문제가 권한 충돌 또는 내가 모르는 캐시에서 오는 것인지 확실히 확신하고있다.
내가 지금 시도 할 수있는 아이디어가 있습니까?
도움 주셔서 감사합니다. 필자는 현재 웹 플레이어 관련 문제 (Unity Canvas를로드하려고 할 때 흰색 페이지)와 관련된 다른 문제가 있습니다. 이 솔루션이 내 문제를 해결하면 확인할 수있는대로 즉시 게시 할 것입니다. – Ergo
이 솔루션은 트릭을했습니다! 다시 감사합니다 ! – Ergo