[Firebase] FirebaseAuth 소셜로그인 콜백 주의점Unity/TroubleShooting2023. 5. 26. 12:55
Table of Contents
Firebase를 이용하여 구글이나 애플로그인 등등을 할 때
auth.SignInWithCredentialAsync(credential).ContinueWith(task =>
{
...
});
이런 콜백을 거치게 되는데
잘보면 콜백 타입이 Task이다
즉, 콜백이 메인스레드에서 돌아가지 않을 수 있다는 것.
😮 서브 스레드에서 돌아가면 어떤 문제가 일어나나요?
- 유니티는 서브 스레드에서 유니티의 API를 호출할 수 없다.
에러와 함께 스레드가 종료돼버리고 try, catch문으로 에러를 출력하지 않는다면 콘솔에 에러도 출력되지 않는다.
그래서 이 경우엔 2가지 방법이 있다.
1. bool변수로 플래그를 세워서 Update()문에서 플래그 체크 후 이후 작업 진행
2. 큐에 액션을 담아놓고 외부 클래스에서 관리하든 한 클래스에서 관리하든 큐가 차있으면 Update()문에서 큐에서 액션을
꺼내 실행
간단한 작업이라면 1번을 쓰면돼고
범용적으로 쓰고싶다면 새로운 클래스와 함께 2번을 쓰면된다.
2번을 쓸 경우 이 레포지토리를 참고하면 좋을것 같다.
끝.
'Unity > TroubleShooting' 카테고리의 다른 글
[Unity] 모바일에서 Input.GetMouseButton이 안먹힌다면... (2) | 2023.11.13 |
---|---|
[Unity] Admob사용 시 Screen.Orientation을 건드리면 생기는 문제 (0) | 2023.05.31 |
[Unity] TCP통신에서 패킷이 누락되는듯한 문제 수정 (0) | 2022.10.18 |
[Unity] GoogleSheetsForUnity 에러수정 (0) | 2022.10.13 |
[Unity] RenderTexutre를 PNG로 저장할때 어두워지는 문제 (0) | 2022.08.09 |