GetLeaderboard
public BackendGuildLeaderboardReturnObject GetLeaderboard(string leaderboardUuid);
public BackendGuildLeaderboardReturnObject GetLeaderboard(string leaderboardUuid, int limit);
public BackendGuildLeaderboardReturnObject GetLeaderboard(string leaderboardUuid, int limit, int offset);
파라미터
Value | Type | Description | Default |
---|---|---|---|
leaderboardUuid | string | 조회할 랭킹의 uuid | - |
limit | int | 조회할 랭커의 수(1 ~ 50) | 10 |
offset | int | 조회할 랭킹의 시작점(0 이상) | 0 |
leaderboardUuid 값은 아래 방법을 통해 확인할 수 있습니다.
- uuid 값은 뒤끝 콘솔에서 랭킹을 생성 후 해당 랭킹 정보에서 uuid 값 확인
- 모든 길드 리더보드 정보 조회 함수를 이용하여 uuid 값 확인
설명
uuid 값을 이용하여 자신이 속한 그룹의 랭커들의 리스트를 조회합니다.
- 그룹에 속해 있지 않는 길드의 경우, NULL그룹의 리더보드를 조회합니다.
공동 순위의 경우, 랭킹 정렬 기준(오름차순, 내림차순)과 같은 기준으로 gamer_id(회원번호)를 사전식 순서로 정렬합니다.
- 해당 함수는 SendQueue로 호출할 수 없습니다.
BackendGuildLeaderboardReturnObject
namespace BackEnd.Leaderboard
{
public class GuildLeaderboardItem
{
public string guildInDate;
public string guildName;
public string score;
public string index;
public string rank;
}
public class BackendGuildLeaderboardReturnObject : BackendReturnObject
{
public long GetTotalCount();
public List<GuildLeaderboardItem> GetGuildLeaderboardList();
}
}
Example
동기
BackEnd.Leaderboard.BackendGuildLeaderboardReturnObject bro = null;
// leaderboardUuid 랭킹에서 1 ~ 10등 랭커 조회
bro = Backend.Leaderboard.Guild.GetLeaderboard("01920443-c070-79d6-b268-5847aad4c76e");
// leaderboardUuid 랭킹에서 1 ~ 50등 랭커 조회
bro = Backend.Leaderboard.Guild.GetLeaderboard("01920443-c070-79d6-b268-5847aad4c76e", 50);
// leaderboardUuid 랭킹에서 11등 ~ 20등 랭커 조회
bro = Backend.Leaderboard.Guild.GetLeaderboard("01920443-c070-79d6-b268-5847aad4c76e", 10, 10);
if (bro.IsSuccess() == false)
{
return;
}
Debug.Log("리더보드 총 길드 등록 수 : " + bro.GetTotalCount());
foreach (BackEnd.Leaderboard.GuildLeaderboardItem item in bro.GetGuildLeaderboardList())
{
Debug.Log($"{item.rank}위 : {item.guildName}");
Debug.Log(item.ToString());
}
비동기
// leaderboardUuid 랭킹에서 1 ~ 10등 랭커 조회
Backend.Leaderboard.Guild.GetLeaderboard("leaderboardUuid", bro=> {
if(bro.IsSuccess() == false) {
return;
}
Debug.Log("리더보드 총 길드 등록 수 : " + bro.GetTotalCount());
foreach (BackEnd.Leaderboard.GuildLeaderboardItem item in bro.GetGuildLeaderboardList())
{
Debug.Log($"{item.rank}위 : {item.guildName}");
Debug.Log(item.ToString());
}
});
// leaderboardUuid 랭킹에서 1 ~ 50등 랭커 조회
Backend.Leaderboard.User.GetLeaderboard("leaderboardUuid", 50, callback=> {
// 이후 처리
});
// leaderboardUuid 랭킹에서 11등 ~ 20등 랭커 조회
Backend.Leaderboard.User.GetLeaderboard("leaderboardUuid", 10, 10, callback=> {
// 이후 처리
});
ReturnCase
Success cases
조회에 성공하였을 때
statusCode : 200
message : Success
returnValue : GetReturnValuetoJSON 참조
조회에 성공하였으나 조회를 시도한 범위에 랭커가 존재하지 않을 때
statusCode : 200
message : Success
returnValue : {"rows":[]}
Error cases
leaderboardUuid가 null 혹은 string.Empty인 경우
statusCode : 400
errorCode : ValidationException
message : leaderboardUuid is null or empty
존재하지 않는 uuid 일 경우
StatusCode : 404
ErrorCode : NotFoundException
Message : leaderboard not found, leaderboard을(를) 찾을 수 없습니다
GetReturnValuetoJSON
{
"rows": [
{
"guildName": "guild1",
"guildInDate": "2024-05-08T07:17:22.915Z",
"rank": 1,
"index": 0,
"score": "36"
},
{
"guildName": "guild2",
"guildInDate": "2024-05-08T07:17:22.408Z",
"rank": 2,
"index": 1,
"score": "32"
}
],
"totalCount": 18
}