안녕하세요. 가입 여부를 판단하는 방법 문의드립니다.

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.18.0
  • 프로젝트명 : Resetia

게스트, 구글 패더레이션 두 트랙으로 운영을 하고 있습니다.
저희는 오프라인을 지원을 하고자하여 다양한 분기처리를 하고 있습니다.

궁금한 것은 로그인을 하기 전에 계정이 있는지 확인할 수 있는 방법은 없나요?
로그인을 하지 않았다면 로그인 팝업을 띄워주는 방식으로 구현하고자 합니다.

안녕하세요 개발자님,
뒤끝 계정이 로그인이 이루어지는 경우 토큰이 생성되도록 되어있으며,
로그인 이력이 존재하지 않거나 앱이 새로 설치된 경우, 로그아웃을 진행한 경우는 토큰이 존재하지 않습니다.

로그인 과정은 아래와 같이 진행되도록 구성하는 것이 일반적입니다.

  1. 게임 실행

  2. 토큰 로그인 시도
    2-1. 로그인 성공 시 게임 진행
    2-2. 로그인 실패 시 실패 사유에 따라 분기

  3. 토큰 로그인 실패에 따른 분기 (에러 정보를 통해 확인 후 처리)
    3-1. 로그인한적이 없거나, 로그아웃 후 재접속하는 등 토큰값이 존재하지 않는 상황에서 시도한 경우 => 일반 로그인 과정 진행
    3-2. 다른 기기로 로그인 하여 refresh_token이 만료된 경우 => 일반 로그인 과정 진행
    3-3. 차단 유저인 경우 => 차단 사유와 함께 차단 안내
    3-4. 차단 디바이스인 경우 => 차단된 기기임을 안내
    3-5. 점검 에러가 리턴된 경우 => 점검 안내를 제공하거나, 임시 공지를 조회하여 안내 메시지 제공
    3-6. 그외 기타 상황등에 대한 처리 진행

추가로 게스트 로그인을 진행한 경우, GetGuestID 함수를 통해 로컬의 ID정보를 조회할 수 있으니 참고 부탁드립니다.

좋아요 1

감사합니다. 로그인을 하지 않은 상태로 접속 기기의 마지막 접속 시간을 알 수 있는 방법은 없을까요?

그리고 추가로 LoginWithTheBackendToken() 함수는 패더레이션으로 로그인한 계정도 자동으로 로그인 할 수 있을까요?

  1. 오프라인으로 게임을 플레이 하다가 온라인으로 재접속을 한 경우, 오프라인 데이터를 온라인 데이터로 덮어씌워야 하는 시스템을 개발중인데(데이터 동기화), 오프라인에서 마지막으로 저장한 시간과 서버에서 마지막으로 저장한 값을 비교하려고 할 때 뒤끝에서 지원하는 함수나 필드가 있을까요?
  1. 마지막 접속 시간
    접속 후 자신의 정보를 조회하여 최근 접속 시간은 확인할 수 있지만,
    로그인 후에 조회하는 내역이기에 현재 접속의 로그인 시간을 확인하게 됩니다.
    일부 함수를 제외하고는 로그인 후에만 호출이 가능한 점, 그리고 별도로 해당 정보를 저장하지 않는 한 이전의 마지막 접속 시간은 확인이 불가한 점 참고 부탁들비니다.

  2. 자동 로그인
    LoginWithTheBackendToken() 함수는 모든 뒤끝 계정에 적용되는 방식입니다.

  3. 저장값을 비교하는 함수
    관련 기능은 지원되지 않습니다.
    또한 해당 기능 구현과 관련해서 주의하실 점은 게임이 서버 호출없이 로컬에서 게임이 계속 진행되는 경우를 고려하여 구현해 주셔야 합니다.

    예를들어 A 기기에서 플레이중 B 기기로 접속을 하였을 때 A기기는 토큰 만료로 서버 요청에 실패하게 됩니다.
    이 때 씬을 게임 초기화면(로그인 화면)등으로 이동시키도록 구성하는게 일반적이나,
    간혹 에러 알림메시지 혹은 중복접속 안내 메시지를 띄워주기만 하고 확인하지 않으면 계속해서 로컬 플레이가 방치형으로 진행되어 로컬 데이터가 계속 쌓이게되는 등의 케이스가 있습니다.
    이때 B 기기에서 게임을 종료해 서버에 B 기기의 마지막 저장 데이터가 있더라도 A기기의 로컬 플레이가 B기기의 종료시간 이후로도 계속 이어져 더 늦은 시간으로 존재할 경우
    비교 시 저장 시 데이터가 롤백되는 처리가 이루어질 수 있기에 반드시 이러한 상황들을 고려하여 구성해 주셔야 하는 점 참고 부탁드립니다.

친절한 답변 감사드립니다. 참고하겠습니다.