GuestLogin

public BackendReturnObject GuestLogin();
public BackendReturnObject GuestLogin(string etc);

파라미터

ValueTypeDescription
etcString(Optional) 부가적으로 저장하고 싶은 정보

설명

뒤끝 SDK는 커스텀(아이디/패스워드)계정 기능을 응용한 게스트로그인 기능을 제공합니다.

  • 게스트 로그인을 한 계정은 구글/애플/페이스북 페더레이션 계정으로 변경할 수 있습니다.
  • 게스트 로그인한 계정도 토큰 로그인을 수행할 수 있습니다.
  • 게스트 계정은 로컬에 저장된 계정 정보를 기반으로 로그인을 합니다.
  • 로컬 데이터 삭제, 어플 재설치, 기기 변경, 로컬 데이터 손상이 발생하면 해당 계정으로 게스트 로그인을 시도할 수 없습니다.
  • 로컬에 저장된 계정정보가 삭제되어도 서버에 저장된 사용자 데이터는 그대로 존재합니다.
주의
  • 로컬에 존재하는 계정정보가 삭제되어 로그인이 불가능해진 게스트 계정에 대한 별도의 로그인 방법은 제공하고 있지 않습니다.
  • 게스트 로그인한 계정의 아이디/비밀번호를 콘솔에서 변경하는 기능은 제공하고 있지 않습니다.
  • 게스트 계정의 데이터 복원, 데이터 이관 등의 기능은 제공하고 있지 않습니다.
  • 로컬 데이터 삭제, 어플 재설치, 기기 변경, 로컬 데이터 손상 등의 상황이 발생하면 게스트 계정에 접근할 수 없다고 반드시 유저에게 충분한 설명을 고지해야 합니다.
  • 게스트 계정에 이메일 정보를 등록한 경우 비밀번호 초기화 메일을 송신할 수 있습니다. 이것을 이용하여 비밀번호를 초기화 할 수 있지만, 비밀번호를 초기화 한 경우 SDK 내부 게스트 계정의 비밀번호와 실제 계정의 비밀번호가 달라지게 됩니다.
    이 경우 커스텀 로그인을 통해서만 로그인이 가능합니다.

게스트 로그인

게스트 로그인 함수를 호출하면 기기 로컬에 저장된 게스트 계정 정보가 있는지 확인합니다.
로컬에 존재하는 게스트 계정 정보 유무에 따라 다른 방식으로 함수가 처리됩니다.

  • 게스트 계정의 아이디는 guest-0514db55-6bd3-46f3-a4dd-0cc5a57ddf53 와 같은 형태로 id가 생성됩니다.
    • guest-는 게스트 계정임을 표시하는 값 입니다.
    • 뒤에 붙는 문자열은 중복되지 않는 UUID 값 입니다.
  • 게스트 계정은 커스텀 회원가입 한 계정으로 취급됩니다. 뒤끝 콘솔에서도 가입유형이 customSignUp으로 표시됩니다.

기기 내부에 게스트 계정 정보가 존재하는 경우

저장된 게스트 계정을 이용하여 커스텀 로그인을 실시합니다.

기기 내부에 게스트 계정 정보가 존재하지 않는 경우

다른 유저와 중복되지 않는 아이디를 생성하여 커스텀 회원가입을 실시합니다.
회원가입에 성공한 경우 뒤끝 파일시스템 기능을 이용하여 기기 로컬에 게스트 계정 정보를 저장합니다.

Example

동기

BackendReturnObject bro = Backend.BMember.GuestLogin( "게스트 로그인으로 로그인함" );
if(bro.IsSuccess())
{
  Debug.Log("게스트 로그인에 성공했습니다");
}

비동기

Backend.BMember.GuestLogin("게스트 로그인으로 로그인함", callback => {
  if(callback.IsSuccess())
  {
    Debug.Log("게스트 로그인에 성공했습니다");
  }
});

SendQueue

SendQueue.Enqueue(Backend.BMember.GuestLogin, "게스트 로그인으로 로그인함", callback => {
  if(callback.IsSuccess())
  {
    Debug.Log("게스트 로그인에 성공했습니다");
  }
});

ReturnCase

Success cases

게스트 회원가입에 성공한 경우
statusCode : 201
errorCode : Success

게스트 로그인에 성공한 경우
statusCode : 200
errorCode : Success

Error cases

존재하지 않는 아이디의 경우 (로컬데이터가 변조된 경우)
statusCode : 401
errorCode : BadUnauthorizedException
message : bad customId, 잘못된 customId 입니다

게스트 계정을 페더레이션 계정으로 변경한 후 게스트 로그인을 시도한 경우
statusCode : 401
errorCode : BadUnauthorizedException
message : bad customId, 잘못된 customId 입니다

차단당한 유저인 경우
statusCode : 403
errorCode : 콘솔에서 입력한 차단된 사유
message : forbidden blocked user, 금지된 blocked user 입니다

출시설정이 테스트 인데 AU가 10을 초과한 경우
statusCode : 403
errorCode : ForbiddenException
message : Forbidden Active User(로그인에 성공한 상태의 유저) exceed 10., 금지된 Active User(로그인에 성공한 상태의 유저) exceed 10.

해당 에러가 발생하는 경우 스토어 출시 설정문서를 참고하세요.