SaveToken 호출 시 에러 문의입니다.

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 : BD_PROJ_01
  • 뒤끝SDK 버전 : TheBackend dll v4.6.1
  • 에러 코드 : ArgumentNullException: Value cannot be null.
    Parameter name: str
    System.Text.RegularExpressions.Regex.Unescape (System.String str) (at <14e3453b740b4bd690e8d4e5a013a715>:0)
    BackEnd.Param.Add (System.String key, System.String keyValue) (at <2f9927fdaacf40e0a1dfe5c85cdd735a>:0)
    BackEnd.Game.Back_Member.SaveToken (BackEnd.BackendReturnObject result) (at <2f9927fdaacf40e0a1dfe5c85cdd735a>:0)

Backend.BMember.GetUserInfo 를 비동기 호출한 뒤 받은 BackendReturnObject을
Update 중 SaveToken에 넣었는데 위와 같은 에러가 났습니다.

BackendReturnObject 내용은 아래와 같습니다.
“statusCode : 200\nmessage : Success\nreturnValue : {“row”:{“nickname”:“beom”,“inDate”:“2020-06-27T10:14:17.083Z”,“emailForFindPassword”:null,“subscriptionType”:“customSignUp”,“federationId”:null}}\n”

Unity: 2019.4.1f1
VisualStudio: Comunity 2017 15.9.24

===================================================================================
(내용추가)
Backend.BMember.GetUserInfo 를 동기 호출로 사용하면 문제는 없습니다. Row 데이터를 포함한 Request들에서 동일한 증상입니다.
Unity 2019.4.2f1, Comunity2019, 뒤끝 4.6.2로 해도 동일합니다.
일단… 동기호출로 진행하려고합니다.
해당 문제 원인 알게되시면 답변부탁합니다 (__)

안녕하세요 개발자님

saveToken 함수에 인자값으로 들어가는 BackendReturnObject는

  • CustomSignUpAsync
  • CustomLoginAsync
  • AuthorizeFederationAsync
  • RefreshTheBackendTokenAsync
  • LoginWithTheBackendTokenAsync
    의 리턴값이 들어가야 합니다.

GetUserInfo 의 결과값에는 accessToken 과 refreshToken이 들어있지 않고,
saveToken 시도 시 해당 함수내에서 엑세스토큰과 리프레시 토큰이 존재하지 않아 로컬에 저장된 엑세스토큰과 리프레시 토큰을 초기화하고,

그렇기에 그 다음 함수 호출 시 엑세스토큰이 null이기 때문에 Value cannot be null. 에러가 발생하는 것 입니다.

  • CustomSignUpAsync
  • CustomLoginAsync
  • AuthorizeFederationAsync
  • RefreshTheBackendTokenAsync
  • LoginWithTheBackendTokenAsync
    위 함수들로 로그인 후, 그 리턴값을 saveToken을 이용하여 토큰을 저장하고,
    그 다음 뒤끝 함수들을 호출해주세요.
좋아요 1

이해했습니다 답변감사합니다~!