cloudsave 빈 값이 저장되는 이슈관련 추가 문의

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

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

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

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

안녕하세요. 일전에 아래 링크의 이슈로 문의드렸는데,

관련해서 안내주신 대로, sdk 5.17.1로 업데이트 및,
sdk에서 빈값이나 숫자가 키인 경우 확인을 위해
일단 클라쪽에서 cloudSave에 업로드하기 전,
savedata serialize시 한 번 더 deserialize해서 검증하는 코드 추가하였습니다.

두 가지 조치를 진행하였는데도
빈도는 줄었지만 여전히 데이터가 {}로 저장되는 이슈가 발생하고 있어
추가적으로 확인 요청드리려고 합니다.

일단 클라쪽에서 cloudsave에 올리려는 데이터를 {}로 하드코딩해서 테스트 시
서버에서 ValidationException - The parsed JsonObject is null or Not has values.
status code 400 내려주는 것 확인하였습니다.

혹시 서버에서 json 검증 진행시 제대로 되지 않을 경우나,
아니면 저희 쪽에서 직렬화시 json.net의 별도 jsonSerializerSettings을 사용하는데
이쪽에서 서버쪽 json처리와 달라 문제 발생이 여지가 있지는 않은지 문의드립니다.

아래 사용중인 jsonSerializerSettings 공유드립니다.

	public static readonly JsonSerializerSettings JsonSettings = new JsonSerializerSettings
	{
		Converters = 
		{ 
			new StringEnumConverter(),
			new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-ddTHH:mm:sszzz" }
		},
		TypeNameHandling = TypeNameHandling.Auto,
		ObjectCreationHandling = ObjectCreationHandling.Replace,
		NullValueHandling = NullValueHandling.Include,
		ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
		DateParseHandling = DateParseHandling.DateTimeOffset,
		DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind,
		Formatting = Formatting.Indented
	};

안녕하세요 개발자님,
관련하여서는 상세 확인 후 답변드릴 수 있도록 하겠습니다.

추가적으로 해당 현상 발생한 유저분께서 상황에 대해서 설명해주신 내용인데

image

실제 해당 유저의 이벤트로그 확인시,
문제가 발생한 시점에서
데이터가 날라가 sign-in 계속 재시도하는 시점까지의
로그가 남아있지 않아,

유저분께서 제보 주신대로 저장을 시도한 시점에 네트워크가 불안정한 상황이었던 것으로 보입니다.

혹시, 원인 파악에 도움이 되실까싶어 공유드립니다.

좋아요 1

답변이 오래 지연되어 죄송합니다.
서버로 리퀘스트 도중에 네트워크 오류 등으로 전송이 끊기게 되는 경우, 데이터가 정상적으로 전송되지 않아 서버에서 빈 데이터로 인식 저장되어 발생하는 문제로 원인을 확인하였습니다.
현재 해당 현상의 픽스를 준비중에 있으며 구체적인 일정이 확정되는대로 안내드릴 수 있도록 하겠습니다.

좋아요 1

클라우드 세이브 기능 사용 중 네트워크 불안정으로 인한 데이터 초기화 문제를 방지하기 위해 오전 중 서버 업데이트가 진행되었습니다.

기존에는 클라이언트에서 데이터를 저장할 때, 네트워크가 불안정한 경우 “{}” 값이 서버에 저장되어 기존 데이터가 초기화되는 현상이 발생할 수 있었습니다.

이번 업데이트를 통해 다음과 같은 방식으로 동작이 개선되었습니다.

  1. 요청에 대한 타임아웃까지 대기
  2. 네트워크가 연결되지 않은 경우, 요청을 중단하고 즉시 에러를 반환
  3. 연결 오류(ConnectionError)가 발생할 경우, 요청을 다시 구성하여 서버로 최대 2회까지 재시도
    이 과정에서도 1번부터 다시 절차를 반복
  4. 최초 요청 및 2회의 재시도까지 모두 실패하면, 최종적으로 에러가 반환

최종 실패 시 반환되는 에러 정보는 다음과 같습니다.

StatusCode: 0
ErrorCode: ConnectionError
Message: Cannot resolve destination host