본문으로 건너뛰기
버전: 5.16.0

GetPastRankList

public BackendReturnObject GetPastRankList(string rankUuid, int limit = 10, int offset = 0)

그룹 구분된 리더보드 사용 불가

URank 랭킹 함수는 그룹이 구분된 리더보드에서 NULL그룹만 조회할 수 있습니다.
그룹에 따른 리더보드를 확인하고자 할 경우에는 Leaderboard함수를 이용해주세요.

파라미터

ValueTypeDescriptionDefault
rankUuidstring조회할 랭킹의 uuid-
limitint불러올 랭킹 길드의 수( 1 ~ 100)10
offsetint조회할 랭킹의 uuid(0이상)0

설명

랭킹 보상이 측정된 랭킹의 갱신되기 전 마지막 랭킹 순위를 불러옵니다.

  • 보상이 존재하는 랭킹만 가능합니다.
  • 랭킹 보상을 받은 길드들의 과거 랭킹만 표시됩니다.
    • 랭킹 보상이 10등까지에게만 주어질 경우, 11등부터의 과거 랭킹은 불러올 수 없습니다.
    • 순위권 밖이지만 전체 보상의 범위에 포함된 길드도 과거 랭킹에는 표시되지 않습니다.
  • 특정 길드의 과거 랭킹, 내 과거 랭킹만 특정하여 불러올 수 없습니다.
  • 과거 랭킹 중 제일 최신인 과거 랭킹 하나를 대상으로 불러옵니다.
    • 일간 랭킹일 경우, 1일 전 과거 랭킹 데이터를 불러오게 되며 2일 전 랭킹은 불러오지 못합니다.
  • limit을 0이하로 입력할 경우 1로 적용됩니다. 100이상일 경우에는 100으로 적용됩니다.
  • offset을 0이하로 입력할 경우 0으로 적용됩니다.
탈퇴 길드의 경우

과거 랭킹 리스트중 탈퇴한 길드가 있을 경우에는 해당 길드의 guildInDate와 guildName 컬럼은 존재하지 않습니다.
jsonData.ContainsKey("guildName")으로 컬럼을 확인한 뒤에 데이터를 가공해주세요.

탈퇴된 길드

{"score":"7835","rank":1}

일반 길드

{"score":"7834","rank":2,"guildInDate":"2024-03-06T05:59:54.716Z","guildName":"기사단"}

Example

동기


// 랭킹 1위 부터 10위까지
Backend.URank.Guild.GetPastRankList("a61c6980-db5f-11ee-95a9-73cbb1225013", 10, 0);

// 랭킹 11위(offset + 1) 부터 111위까지((offset + 1 + limit)
Backend.URank.Guild.GetPastRankList("a61c6980-db5f-11ee-95a9-73cbb1225013", 100, 10);

비동기

Backend.URank.Guild.GetPastRankList("a61c6980-db5f-11ee-95a9-73cbb1225013", 10, 0, callback => {

});

SendQueue

SendQueue(Backend.URank.Guild.GetPastRankList, "a61c6980-db5f-11ee-95a9-73cbb1225013", 10, 0, callback => {

});

ReturnCase

Success cases

조회에 성공한 경우
statusCode : 200
message : Success
returnValue : GetReturnValuetoJSON 참조

Error cases

과거 랭킹의 보상 집계가 되지 않은 경우
statusCode : 200
message : Success
returnValue : {"rows":[]}

uuid가 null 혹은 string.Empty인 경우
statusCode : 400
errorCode : ValidationException
message : rankUuid is null or empty

존재하지 않는 uuid로 조회를 시도한 경우
statusCode : 404
errorCode : NotFoundException
message : rank not found, rank을(를) 찾을 수 없습니다

누적 랭킹의 과거 랭킹을 조회 시도한 경우
statusCode : 428
errorCode : Precondition Required
message : Precondition Required rank initial type

GetReturnValuetoJSON

{
"rows": [
{
"score": "7835", // 탈퇴된 길드일 경우 nickname과 inDate가 출력되지 않습니다.
"rank": 1
}
{
"score": "5834",
"rank": 2,
"guildName": "Guild2",
"guildInDate": "2024-03-06T05:59:53.523Z"
},
{
"score": "5121",
"rank": 3,
"guildName": "Guild3",
"guildInDate": "2024-03-06T05:59:51.568Z"
}
]
}

Sample Code

public void GetRankRewardList()
{
string rankingUUID = "a61c6980-db5f-11ee-95a9-73cbb1225013";

var bro = Backend.URank.Guild.GetPastRankList(rankingUUID, 100, 0);

if(bro.IsSuccess() == false) {
Debug.LogError("GetPastRankList : " + bro);
}

foreach(LitJson.JsonData jsonData in bro.Rows()) {

// 해당 길드가 탈퇴한 경우에는 nickname과 inDate의 컬럼이 존재하지 않습니다.
string guildName = jsonData.ContainsKey("guildName") ? jsonData["guildName"].ToString() : "Deleted Guild";
string guildInDate = jsonData.ContainsKey("guildInDate") ? jsonData["guildInDate"].ToString() : string.Empty;
string score = jsonData["score"].ToString();
string rank = jsonData["rank"].ToString();

Debug.Log($"{rank}.{guildName}({guildInDate}) : {score}점");
}
}