고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.
커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.
문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.
- 뒤끝 SDK 버전 : 5.11.3
- 프로젝트명 : jump_up
- 스테이터스 코드 :
- 에러 코드 :
- 에러 메시지 :
랭킹 페이지에 1~50등까지의 랭킹을 출력하고, 50등 안에 들지 못한 유저는 그 아래에 자신의 등수를 볼 수 있게 하려 합니다.
50등까지의 랭킹을 불러오는 함수는 아래와 같이(Constants.GLOBAL_MAX_RANK_LIST = 50) 작성하였고,
private void GetGlobalRankList()
{
var bro = Backend.URank.User.GetRankList(Constants.GLOBAL_RANK_UUID, Constants.GLOBAL_MAX_RANK_LIST); 이하 생략 }
내 랭킹을 불러오는 함수는 아래와 같습니다.
private void GetMyGlobalRank()
{
// 내 랭킹 정보 불러오기
var bro = Backend.URank.User.GetMyRank(Constants.GLOBAL_RANK_UUID);
{
// 닉네임이 없으면 ID, 있으면 nickname
string nickname = userNick == null ? userID : userNick;
if (bro.IsSuccess())
{
// Json 데이터 파싱 성공
try
{
JsonData globalRankDataJson = bro.FlattenRows();
// 받아온 데이터의 개수가 0이면 데이터가 없는 것
if (globalRankDataJson.Count <= 0)
{
// [순위에 없음 닉네임 0]과 같이 출력
SetRankData(myGlobalRankData, 1000000000, nickname, 0, 0);
Debug.LogWarning("데이터가 존재하지 않습니다.");
}
else
{
myGlobalRankData.Rank = int.Parse(globalRankDataJson[0]["rank"].ToString());
myGlobalRankData.BestRecord = int.Parse(globalRankDataJson[0]["score"].ToString());
// 닉네임을 설정하지 않은 유저는 닉네임 대신 ID를 출력
myGlobalRankData.Nickname = globalRankDataJson[0].ContainsKey("nickname") == true ?
globalRankDataJson[0]["nickname"]?.ToString() : userID;
gameoverSceneDirector.myGlobalRank = myGlobalRankData.Rank;
myGlobalRankData.Trophy = int.Parse(globalRankDataJson[0]["trophy"].ToString());
}
}
// 자신의 랭킹 정보 JSON 데이터 파싱에 실패했을 때
catch
{
// [순위에 없음 닉네임 0]과 같이 출력
SetRankData(myGlobalRankData, 1000000000, nickname, 0, 0);
// try-catch 에러 출력
Debug.LogError(enabled);
}
}
else
{
// 자신의 랭킹 정보 데이터가 존재하지 않을 때
if (bro.GetMessage().Contains("userRank"))
{
// [순위에 없음 닉네임 0] 과 같이 출력
SetRankData(myGlobalRankData, 1000000000, nickname, 0, 0);
}
}
}
}
50등 안에 들었을 경우
gameoverSceneDirector.myGlobalRank = myGlobalRankData.Rank;
이 값이 제대로 들어갑니다만 50등 밖에 있을 경우에는 '0’으로 출력됩니다.
콘솔에서 보면 순위권 밖의 유저도 랭킹 데이터가 존재하는데 불러오지 못하는 이유가 무엇인지 궁금합니다.
순위권 밖의 랭크를 조회하려면 어디를 고쳐야 할까요?