페더레이션에는 성공했지만 데이터 받아쓰기를 실패하는 문제에 관해 문의드립니다.

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

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

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

  • 뒤끝 SDK 버전 : 5.9.3
  • 프로젝트명 : 퇴마사 디펜스
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

iOS의 페더레이션(계정연동) 후 계정 데이터가 날아갔다는 피드백이 연속으로 접수되었습니다.

해당 문제가 발생할 수 있는 원인을 2가지로 추측하고 있습니다.

1. 페더레이션에 실패했지만 게스트 계정의 로그인이 풀려서 플레이어가 게스트 계정으로 다시 로그인 할 수 없음

2. 페더레이션에는 성공했지만 게스트 계정으로부터 데이터를 받아쓰는데 실패함

원인 1번의 경우 지난 패치를 통해 대응한 문제입니다.

아래와 같은 처리를 수행했습니다.

1. 계정 연동에 실패할 경우 게스트 계정의 로그인 + 자동 로그인을 유지

→ 이 예외처리를 통해 페더레이션 실패 시, 게스트 계정의 연결이 끊어지는 등의 문제는 발생하지 않습니다.

→ 즉, 페더레이션에 실패했을 때는 기존 데이터가 유지되므로 리뷰에 달린 것과 같은 문제가 발생하지는 않을 것입니다.

2. 오직 계정 연동에 성공했을 경우에만 게스트 계정의 자동 로그인을 해제

→ 이외에 플레이어가 자동 로그인을 해제할 수 있는 방법이 게임 내 없습니다.

→ 즉 게스트 계정의 자동 로그인이 풀려 접속 권한을 잃어버리는 일은 현재 구조에서 발생할 수 없습니다.

그렇기 때문에, 원인 2번에 의해 리뷰의 피드백과 같은 문제가 발생하고 있다고 확신합니다.

1. 페더레이션에 성공했지만, 페더레이션된 계정의 데이터를 업데이트에 실패

// 페더레이션 전환 성공
if (bro.IsSuccess())
{
//Debug.Log(“changeToFederation Successed”);
Backend.BMember.UpdateFederationEmail(appleIdToken, FederationType.Apple);
AfterAuthCallback(true);
PlayData.Instance.changeToFederation = false;
}

→ 페더레이션 전환 성공 시, UpdateFederationEmail()과 AfterAuthCallback()을 수행합니다.

→ AfterAuthCallback()은 뒤끝 콜백을 받은 뒤, Backend.GameData.GetMyData()를 사용하여 서버에 저장된 세이브 파일을 가져오는 역할을 합니다. 만약 데이터를 찾을 수 없거나 오류가 발생한다면 '데이터를 찾을 수 없습니다.'라는 팝업이 출력되도록 예외처리되어 있습니다. 확실하지는 않으나 이전의 리뷰나 문의에서 오류 팝업 메시지에 대한 언급이 없었으므로 여기에서 문제가 발생했을 가능성은 낮다고 판단하고 있습니다.

→ 따라서, 현재 UpdateFederationEmail() 수행 시, '간헐적으로 발생하는 알 수 없는 이유’에 의해 앱이 크래시 되는 문제가 있는 것으로 추측합니다.

→ 문제는, 이 처리 중 앱이 크래시가 되면 '게스트 계정 로그인’이 풀린 상태에서 재접속을 해야 합니다.

→ 즉, 플레이어는 페더레이션에는 성공을 했지만 게스트 계정의 데이터를 이어받지 못한 상태에서 게스트 계정의 접속 권한을 잃어버릴 수 있습니다.

상기 문제를 개선하기 위해 아래의 사항에 대한 답이 필요합니다.

1. 한 번 해제된 게스트 계정에 다시 로그인 권한을 부여할 수 있습니까? 있다면, 그 방법은 무엇입니까?

2. UpdateFederationEmail()에서 오류가 날 경우 앱이 크래시 될 수 있는 가능성이 있습니까? 있다면, 그 재현방법과 대응방법을 알 수 있겠습니까?

3. 게스트 계정의 접속을 유지한 채로 페더레이션을 진행할 수 있습니까? 만약 그렇다면, 상기의 상황처럼 페더레이션에는 성공했지만 데이터 받아쓰기에 실패할 경우, 플레이어가 게스트 계정으로 다시 로그인하여 자신의 데이터를 유지할 수 있습니까?

4. 현재 저희가 추측하는 원인 이외에 발생할 수 있는 페더레이션 중 앱이 크래시되는 문제가 있습니까? 있다면 알려주시길 바랍니다.

감사합니다.

안녕하세요 개발자님,
문의하신 내용 순차적으로 안내드립니다.

  1. 캐시 클리어, 로컬데이터 삭제 등으로 기기에서 정보가 사라졌다면, 기존의 게스트 계정으로 다시 로그인은 불가합니다.

  2. 현재까지 확인된 크래시 정보는 없습니다.

  3. ChangeCustomToFederation 함수를 통해 게스트 계정을 페더레이션으로 변경 가능합니다.
    해당 함수는 유저의 로그인 방식을 변경하는 기능으로, 실패시에는 기존 계정으로 로그인이 가능합니다.

  4. UpdateFederationEmail 은 페더레이션 로그인을 하였을 때, 이메일 정보가 없어서 등록이 필요한 경우 사용하는 함수입니다.
    GPGS 및 애플로그인(가입) 과정에서 이메일 등록이 이루어지기에, 이메일 정보를 수동으로 등록해야하는 상황이 아니라면 사용할 필요가 없는 함수입니다.
    현재 UpdateFederationEmail 함수 호출에 따른 페더레이션 토큰 에러 내역이 다수 확인되고 있습니다.
    참고하여 주시면 감사하겠습니다.