신규 차트 관련해서 문의드립니다.

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

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

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

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

안녕하세요.
현재 라이브 서비스 중인 프로젝트에서 신규 차트 기능을 사용하고 있습니다.

Backend.CDN.Content.Local.Update 함수를 통해 차트를 저장하고 불러오고 있으며, 반환된 BackEnd.Content.BackendContentReturnObject 객체에서 GetContentDictionarySortByChartName 함수를 사용하여 차트 정보를 가져오고 있습니다.

이 함수로 반환된 Dictionary를 순회하며 각 ContentItem의 contentString을 JArray로 파싱하여 데이터를 처리하고 있습니다.

그런데 일부 소수의 유저에게서 이 파싱 과정이 실패하는 현상이 발생하고 있습니다.
현재 에디터, 앱 플레이어, 그리고 보유 중인 테스트 기기에서는 동일한 문제가 재현되지 않아 원인을 파악하는 데 어려움을 겪고 있습니다.

혹시 contentString을 JArray로 파싱하는 과정에서 실패할 가능성이 있는 사례나 원인에 대해 조언을 구하고 싶습니다.

확인 부탁드립니다. 감사합니다.

안녕하세요 개발자님,
말씀해주신 내용과 관련하여서는 문제 상황에 대한 정보를 확인하거나 보고받은 바 없으며,
내부에서도 확인되는 파싱 실패 정보들이 없어 답변에 어려움이 있습니다.
JArray 부분에 try catch 처리하여 상세 에러 정보를 공유해주시면 확인하여 안내드릴 수 있도록 하겠습니다.
도움드리지 못해 죄송합니다.

좋아요 1

해당 문제는 일부 극소수 유저에게 발생한것으로 보여집니다.

전체 유저중 0.6% 인원입니다.

try catch 처리하여 남긴 에러 로그 입니다.

발생했던 기기는 ‘갤러시a32’ 전달 받았습니다!

Backend.CDN.Content.Get AdventureMeterData\nNewtonsoft.Json.JsonReaderException: Error reading JArray from JsonReader. Path ‘’, line 0, position 0.\n at Newtonsoft.Json.Linq.JArray.Load (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Linq.JsonLoadSettings settings) [0x00000] in <00000000000000000000000000000000>:0 \n at Newtonsoft.Json.Linq.JArray.Parse (System.String json, Newtonsoft.Json.Linq.JsonLoadSettings settings) [0x00000] in <00000000000000000000000000000000>:0 \n at LoadingScene+d__16.MoveNext () [0x00000] in <00000000000000000000000000000000>:0 \n at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <00000000000000000000000000000000>:0

전달해 주신 에러는 JArray 형식으로 파싱할 때, JArray 형식이 아닌 경우 발생하는 에러입니다.
차트는 동일한 데이터를 유저에게 전달하기 때문에, 모든 유저에 발생하는 오류가 아니라면 해당 유저만의 문제로 볼 수 있습니다.
contentString이 빈 문자열 같은 잘못된 형태로 저장되었을 가능성이 있으며,
정확한 원인을 특정하기는 어렵지만, 사용자가 로컬 저장에 제약을 두거나 디스크 용량 부족 등이 원인이 될 수 있습니다.
파싱 전에 contentString에 내용이 있는지 확인하시고, 내용이 없는 경우 해당 데이터만 다시 받아온 뒤 파싱을 시도하거나, 로컬 데이터를 reset 하여 처음부터 다시 저장하는 방법을 사용해보시길 바랍니다.

좋아요 1

답변 감사합니다! :100:

좋아요 1