일반 랭킹 - table UUID 획득방법 문의

  • 뒤끝 SDK 버전 :
  • 프로젝트명 : 핵 앤 슬래시 키우기
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 : rank not found, rank을(를) 찾을 수 없습니다.

[ 게임 정보 ]에 유저의 Save데이터 실시간 저장을 위한 “UserData” 테이블을 생성하였고,
제 게임의 특성상 16개의 리그별 랭킹이 존재하여 16개의 “RankLeague{리그인덱스}” 테이블을 생성하였습니다.
table UUID를 알아내기 위해 아래와 같은 코드를 사용했구요.

SendQueue.Enqueue(Backend.URank.User.GetRankTableList, callback =>
{
// 이후 처리
if (callback.IsSuccess())
{
Debug.LogError(“IsSuccess”);
LitJson.JsonData rankTableListJson = callback.FlattenRows();
for (int i = 0; i < rankTableListJson.Count; i++)
Debug.LogError(
$“index:{i}/{rankTableListJson[i][“title”]}/{rankTableListJson[i][“table”]}/{rankTableListJson[i][“uuid”]}”);
}
else
{
Debug.LogError(“IsFailed”);
Binder.UIManager.NetworkErrorPopupPanel.Show(callback.GetMessage());
}
});
결과는 Fail. "rank not found, rank을(를) 찾을 수 없습니다."라고 나왔습니다.

혹시 콘솔에는 보여지지 않는 rankTable이 따로 존재하는것일까요?
만약 UserData, 즉 user의 param 중에 랭킹에 사용되는 데이터를 저장하지 않는다면, 어떻게 해야할까요?

일단, 제 의도는 User가 League1을 1시간+1시간+1시간에 걸려 클리어했다고 가정했을때, 각 포인트 별 걸린 시간을 합산하여 따로 총 누적시간을 기준으로 낮은 시간(빨리 깬) 순으로 각 리그별 Top5를 보여줄 예정입니다.
한사람이 여러 리그를 섭렵할수도 있구요.
테스트 및 이후 데이터 삽입을 위해 각 table UUID를 알아내서 제 임의의 데이터를 집어넣으려 합니다.
어떻게 해야할까요?

안녕하세요 개발자님,
GetRankTableList 및 GetLeaderboards 함수는 콘솔을 통해 설정된 리더보드(구 랭킹) 정보를 조회하는 기능입니다.

리더보드가 테이블 데이터를 기반으로 하기에 테이블을 생성하여 사용하시는 것은 맞지만,
리더보드 기능 자체를 활용하기 위해서는 콘솔 내에서 리더보드 메뉴를 통해 다시 리더보드 정보를 설정하신 후 사용하실 수 있는 기능입니다.

리더보드 관련 함수는 다음 과정을 진행한 이후 사용할 수 있으며,
유저를 통한 리더보드 순위 갱신 함수 호출은 테이블에 데이터가 반드시 insert된 이후 가능합니다.

  1. 콘솔 내 리더보드 점수 및 추가정보를 저장할 테이블 생성
    • private 테이블로 설정 (public 테이블은 리더보드에 사용이 불가합니다.)
    • 리더보드 점수에 사용할 컬럼 및 추가정보를 저장할 컬럼 설정
      • 점수에 사용될 컬럼은 숫자형 컬럼만 선택 가능
      • 스키마 미정의의 경우 1개 이상의 데이터가 존재해야 선택 가능
  2. 콘솔 내 리더보드 메뉴에서 보상 생성
    • 리더보드에 정산 시 지급할 보상 정보를 설정
    • 보상을 미사용할 경우 설정은 필요하지 않음
  3. 콘솔 내 리더보드 메뉴에서 리더보드 생성
    • 리더보드 정산 기간 및 점수 초기화 여부, 추가데이터 항목 등 설정

일단 말씀주신 내용으로 정리하자면,

  1. [게임정보] 에 UserData (Save용), LeagueRank1~17 (리더보드에서 Score 비교, 매칭용)을 구성.
  2. [리더보드] 에서 리더보드1~17을 생성하기 위해 [게임정보]의 LeagueRank1~17에 데이터 삽입 필요. (그래야 순위를 정할 Score 컬럼을 매칭시킬수 있으니까)

이렇게 파악하고 있는데요. 제가 임의의 데이터를 넣기 위해 LeagueRank1~17의 UUID가 필요한 상황입니다.
물론 제가 지금은 그냥 임의로 LeagueRank1~17에 행 추가로 데이터를 넣고 있긴합니다만,
코드로 진행하기 위해 따로 UUID들을 알아낼 방법은 없는걸까요?

2번의 경우 스키마 미정의 테이블이라면 데이터 삽입이 필요합니다.
단 1개의 데이터만 존재하더라도 리더보드는 생성이 가능하기에 콘솔에서 단순히 row를 하나 생성해주기만 하셔도 됩니다.
스키마 정의 테이블이라면 별도의 데이터 삽입 과정은 필요하지 않습니다.

또한 리더보드 UUID는 리더보드 생성 전에는 확인이 불가하며, 한번 생성한 이후는 고정값으로 사용할 수 있습니다.
리더보드 UUID는 리더보드 갱신 함수 또는 순위조회 함수를 위해 필요하지, 테이블 최초 데이터 삽입 과정에서는 insert 함수로 가능하기에 필요하지 않습니다.

최초 답변 내용 및 개발자 문서를 잘 확인하여 이용해 주세요.

리더보드 말고 [게임정보]에서의 LeagueRank1~17들의 tableUUID요.
저걸 알아야 데이터를 제가 코드로 넣을수 있고, 들어간 데이터를 리더보드 생성할때 매칭시켜줄수 있어서요.

개발자님께서 말씀하시는 tableUUID가 정확히 어떤것을 의미하는지 명칭을 올바르게 확인하여 주시면 감사하겠습니다.

테이블의 경우 uuid가 존재하지 않으며, GetRankTableList 함수를 통해 조회시 확인되는 uuid는 리더보드(랭킹)의 uuid 정보입니다.
rank not found, rank을(를) 찾을 수 없습니다 에러가 발생된것은 콘솔에서 생성된 리더보드(랭킹)이 없기 때문입니다.

GetRankTableList 함수를 통해서는 콘솔에서 생성된 리더보드를 기준으로 빨간 박스의 uuid 정보가 제공됩니다.

앗 뭔가 제가 놓친게 있나보네요. 확인 좀 더 해보겠습니다. 빠른 답변 감사합니다.

아 제가 혼동을 했네요. 게임 정보로 분류되는 테이블이라 Insert에 필요한건 테이블 이름이였네요. 죄송합니다.