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

GetLeaderboards

public BackendLeaderboardTableReturnObject GetLeaderboards();

설명

뒤끝 콘솔에 생성한 모든 유저 리더보드를 리스트 형태로 리턴합니다.

  • 해당 함수는 SendQueue로 호출할 수 없습니다.

해당 리스트에는 아래 정보가 포함되어 있습니다.

  • 리더보드 이름(title)
  • 리더보드 uuid(uuid)
  • 리더보드 생성 날짜(inDate)
  • 리더보드 구분(rankType)
  • 리더보드 주기(date)
  • 초기화 시간(initializationTime)
  • 그룹 구분 여부(isDivision)
  • 우편 보상 이름(rewardPostTitle)
  • 리더보드 초기화 시 데이터 초기화 여부(isReset)
  • 리더보드 정렬 방법(order)
  • 리더보드에 사용한 테이블(table)
  • 리더보드에 사용한 컬럼(column)
  • 리더보드에 사용한 추가 항목(extraDataColumn)
  • 리더보드에 사용한 추가 항목의 데이터타입(extraDataType)

BackendLeaderboardTableReturnObject


namespace BackEnd.Leaderboard
{
public class LeaderboardTableItem
{
public string rankType;
public string date;
public bool isDivision;
public string uuid;
public string order;
public bool isReset;
public string title;
public string table;
public string column;

//일회성 랭킹에만 존재
public string rankStartDateAndTime;
public string rankEndDateAndTime;

//추가 항목이 있을 경우에만 존재
public string extraDataColumn;
public string extraDataType;

public Dictionary<string, string> rewardPostTitle = null;
}


public class BackendLeaderboardTableReturnObject : BackendReturnObject
{
public List<LeaderboardTableItem> GetLeaderboardTableList();
}
}

Example

동기

BackEnd.Leaderboard.BackendLeaderboardTableReturnObject bro = null;
bro = Backend.Leaderboard.Guild.GetLeaderboards();

foreach (BackEnd.Leaderboard.LeaderboardTableItem item in bro.GetLeaderboardTableList())
{
Debug.Log(item.ToString());
}

비동기

Backend.Group.Leaderboard.User.GetLeaderboards(bro =>
{
foreach (BackEnd.Leaderboard.LeaderboardTableItem item in bro.GetLeaderboardTableList())
{
string uuid = item.uuid;
Debug.Log(item.ToString());
}
});

ReturnCase

Success cases

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

Error cases

리더보드가 없는 경우
StatusCode : 404
ErrorCode : NotFoundException
Message : leaderboard not found, leaderboard을(를) 찾을 수 없습니다

GetReturnValuetoJSON

{
"rows": [
{
"rankType": "guild", // 리더보드 타입(user / guild)
"isDivision": true, // 그룹 구분 여부
"rewardInDate": "2024-07-30T04:52:13.448Z",
"order": "desc", // 정렬 순서
"initializationTime": "04:00:00 UTC+9:00", // 리더보드 초기화 시간
"rankStartDateAndTime": "2024-08-19T15:40:00.000Z", // (일회성, 기한없음 리더보드에서만) 리더보드 시작 시간
"rankEndDateAndTime": "2024-08-20T15:00:00.000Z", // (일회성 리더보드에서만) 리더보드 종료 시간
// 랭킹 기간
// day : 일간
// week : 주간
// month : 월간
// infinity : 누적 랭킹
// custom : 일회성 랭킹
"date": "custom", //
"inDate": "2024-08-20T07:08:09.478Z", // 리더보드 생성 일시
"uuid": "01916e9d-5186-7594-b8ab-e286cefb6226",
"isReset": true, // 초기화 시 데이터 리셋 여부
// 언어별 보상 이름
"rewardPostTitle": {
"ko": "한국보상",
"en": "EnglishReward",
"fallback": "en"
},
"rewardName": "보상 차트 이름",
"title": "랭킹 제목",
"table": "meta", // meta / goods
"column": "랭킹에 사용된 컬럼 이름" // meta에 설정된 컬럼명 or totalGoods1Amount ~ totalGoods10Amount
},
...
]
}