실시간 랭킹 유니티에서만 보입니다.

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 : 대장장이의 전설
  • 뒤끝SDK 버전 : 5.2.0
  • 에러 코드 :

전체 메일로 긴급 공지를 받은 이후부터 발생하는 문제인 것 같습니다.

저는 위 사진처럼 스크립트를 활용해 랭킹 정보를 텍스트로 출력하고 있었습니다.
그런데, 어느 순간부터 데이터는 받아오는데 출력이 안 되고 있습니다.

게임은 정상적으로 출시된 상태이며, 얼마전 테스트 상태에서 라이브 상태로 변경을 했습니다.
(재무 데이터가 업로드 되어서요.) *혹 테스트 상태에서 라이브 상태로 변경하면서 생긴 문제일까요?

보시는 바와 같이 서버에서 데이터는 가져오고 있으나,
게임 창에서 랭킹 텍스트 출력은 이루어지지 않고 있습니다.
그런데 또 웃기는게 유티니 내부에서 게임을 하면, 랭킹이 아무 문제 없이 잘 출력됩니다.
(유저는 9명인데 50개의 데이터를 가져오다보니 오류가 나는데, 오류가 나더라도
아무 문제 없이 출력이 되었었습니다.)

유니티에서 아무 문제 없이 진행되다보니
원인을 모르겠습니다.
해당 내용 빠르게 확인 부탁드립니다.

안녕하세요 개발자님

우선 말씀해주신 전체메일로 발송드린 긴급공지는

SDK 업데이트와 해당 SDK 업데이트 적용 시 비동기 함수 사용 방식에 차이가 생겨 반드시 확인을 부탁드리는 메일로 서버에는 변경사항이 없습니다.

또한 테스트<=>라이브 상태변경도 문제가 아닌 듯 합니다.


첨부해주신 로그를 확인해보면

서버에서 정상적으로 응답이 왔고, 여기에 유저의 랭킹 또한 정상적으로 포함되어있는데,

NullReferenceException이 발생한 것으로 보아

Respond respond = JsonUtility.FromJson<Respond>(A);

여기서 A를 respond로 변환할 때 변환에 실패하여 null값이 할당된 것으로 추측됩니다.

이 부분의 확인을 부탁드리겠습니다.

유니티에서는 정상적으로 되는데 모바일 환경에서는 안되는 것은 두 환경과의 차이때문에 발생하는 것으로 추측됩니다.

해당 부분을 사용하실 때 아래와 같이 사용하신 후 정상적으로 출력이 되는지 확인 부탁드리겠습니다.

1.

var data = result.Rows();
myrank.text = data[0]["rank"]["N"].ToString();

2.

var data = BackendReturnObject.Flatten(bro.Rows());
myrank.text = data[0]["rank"].ToString();

마지막으로

myrank 객체가 정상적으로 할당되었는지도 확인부탁드리겠습니다.

감사합니다.

친절한 답변 감사합니다.
Respond가 아닌
뒤끝서버에서 제공하는 방식으로
파싱해서 해결했습니다~

좋아요 1