BackendManager.Instance.GoogleLogin(callback =>
{
Debug.Log($“[UITitleLoginPopup] GoogleLogin 완료: {(callback != null ? callback.IsSuccess().ToString() : “null”)}“);
SetActiveLoginLockPanel(false);
if (callback == null)
{
Debug.LogError(“[UITitleLoginPopup] 구글 로그인 실패: callback이 null입니다.“);
GameManager.Instance.UISystemScene.ShowToastMessagePanel(“구글 로그인에 실패했습니다.\n잠시 후 다시 시도해주세요.“);
return;
}
PopupManager.Instance.ClosePopup(this);
if (callback.IsSuccess())
{
OnLoginComplete?.Invoke(callback);
OnLoginComplete = null;
}
else
{
Debug.LogError($“[UITitleLoginPopup] 로그인 실패: {callback.GetMessage()}“);
OnLoginComplete?.Invoke(callback);
}
});
CallBack을 받아서, 로그인 처리를 하려고 하는데, if(callback==null) 구문이 발생하는 상황입니다.
아래는 구글 로그인 코드 입니다.
public void GoogleLogin(Action<BackendReturnObject> onComplete = null)
{
if (GoogleConnect == null)
{
onComplete?.Invoke(null);
onComplete = null;
return;
}
GoogleConnect.OnGoogleLogin = null;
GoogleConnect.OnGoogleLogin += (success, errorMessage, token) =>
{
Debug.Log(“GoogleLogin” + success);
if (success)
{
BackendLogin.GPGSLogin(token, (callback) =>
{
onComplete?.Invoke(callback);
onComplete = null;
});
}
else
{
onComplete?.Invoke(null);
onComplete = null;
}
};
GoogleConnect.SignInWithGoogle();
}
SignInWithGoogle코드 입니다.
public void SignInWithGoogle() { OnSignIn(); }
public void SignOutFromGoogle() { OnSignOut(); }
void OnSignIn()
{
Debug.Log(“Calling SignIn”);
GoogleSignIn.Configuration = configuration;
GoogleSignIn.Configuration.UseGameSignIn = false;
GoogleSignIn.Configuration.RequestIdToken = true;
// AddToInformation(“Calling SignIn”);
GoogleSignIn.DefaultInstance.SignIn().ContinueWithOnMainThread(OnAuthenticationFinished);
}