본문으로 건너뛰기
버전: 1.1.1

호출한 사용자 확인하기

함수를 호출한 사용자의 데이터를 바꾸거나 판매자·구매자를 기록하려면, 호출한 사용자가 누구인지 서버가 확인한 값이 필요합니다.
요청 값(Backend.Content)으로 받은 사용자 ID는 사용하지 않습니다. 클라이언트가 다른 사람의 ID를 보내면 그 사람의 데이터를 바꿀 수 있게 되기 때문입니다.

gamerId 확인하기​

함수 안에서 Backend.BMember.GetUserInfoV2()를 호출하면, 함수를 호출한 사용자의 정보를 서버에서 받아옵니다.
결과의 row.gamerId가 호출한 사용자의 gamerId입니다.

// Backend.Initialize(ref stream)를 호출한 뒤에 실행합니다.
var userInfo = Backend.BMember.GetUserInfoV2();
if (userInfo.IsSuccess() == false)
{
return ReturnErrorObject("fail to get user info: " + userInfo.GetMessage());
}

string gamerId = userInfo.GetReturnValuetoJSON()["row"]["gamerId"].ToString();
  • 이 값은 유니티가 로그인할 때 받은 토큰으로 서버가 확인한 값이므로, 요청 값을 바꿔도 달라지지 않습니다.
  • 멀티 캐릭터 프로젝트에서는 유니티에서 선택한 캐릭터의 ID가 들어옵니다.
  • 뒤끝 데이터베이스의 OfCurrentUser()도 같은 사용자를 대상으로 합니다. 뒤끝 데이터베이스 사용 문서를 참고해 주세요.
  • 서버에 한 번 더 요청하므로 함수의 응답 시간이 늘어납니다. 한 번 호출할 때 한 번만 확인하고 변수에 담아 사용합니다.

내 PC에서 실행할 때​

GetUserInfoV2는 로그인한 사용자가 있어야 동작합니다.

실행 방법결과
backend debug (기본 실행)로그인한 사용자가 없어 실패합니다.
backend debug --user, 편집기의 테스트 계정 실행등록한 테스트 계정의 gamerId를 받습니다.
배포한 뒤 backend invoke등록한 테스트 계정의 gamerId를 받습니다.
배포한 뒤 유니티에서 호출유니티에서 로그인한 사용자의 gamerId를 받습니다.

테스트 계정 등록은 인증 정보 등록 문서를 참고해 주세요.