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

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

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

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

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

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

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

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

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

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

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

안녕하세요 개발자님,
말씀해주신 내용과 관련하여서는 문제 상황에 대한 정보를 확인하거나 보고받은 바 없으며,
내부에서도 확인되는 파싱 실패 정보들이 없어 답변에 어려움이 있습니다.
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