GetPastRankList
public BackendReturnObject GetPastRankList(string rankUuid, int limit = 10, int offset = 0)
URank 랭킹 함수는 그룹이 구분된 리더보드에서 NULL그룹만 조회할 수 있습니다.
그룹에 따른 리더보드를 확인하고자 할 경우에는 Leaderboard함수를 이용해주세요.
파라미터
Value | Type | Description | Default |
---|---|---|---|
rankUuid | string | 조회할 랭킹의 uuid | - |
limit | int | 불러올 랭킹 길드의 수( 1 ~ 100) | 10 |
offset | int | 조회할 랭킹의 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}점");
}
}