랭킹구현 문의

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.5.2
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :
    초보라 어려운부분이 많아 이런질문을 드리네요…;;

랭킹을 구현하기 위해 SDK 문서를 보았지만 잘 몰르겠어서…문의드립니다.
현재 서버에 3종류의 점수를 등록하는데 서버에서 받아와서 닉네임과 점수를 등록하고자 하는데
어떻게 구현해야 하나요…코드 예시가 있을까요…
서버에 점수 등록은 param 으로 각각 int 형으로 table 에 등록합니다…

안녕하세요 개발자님,
랭킹 조회 후 확인되는 정보로 닉네임과 점수를 등록하고자 한다면,
랭킹 조회 후 리턴되는 Json을 통해서 보여주면 됩니다.
아래 코드를 참고하여 이용해 주세요.

public class RankItem
{
    public string gamerInDate;
    public string nickname;
    public string score;
    public string index;
    public string rank;
    public string totalCount;
    public override string ToString()
    {
        return $"{gamerInDate} / {nickname} / {score} / {index} / {rank} / {totalCount}";
    }
}
public void GetRankListTest()
{
    int limit = 100;
    List<RankItem> rankItemList = new List<RankItem>();
    BackendReturnObject bro = Backend.URank.User.GetRankList("랭크 uuid", limit);
    if (bro.IsSuccess())
    {
        JsonData rankListJson = bro.GetFlattenJSON();
        for (int i = 0; i < rankListJson["rows"].Count; i++)
        {
            RankItem rankItem = new RankItem();
            rankItem.gamerInDate = rankListJson["rows"][i]["gamerInDate"].ToString();
            rankItem.nickname = rankListJson["rows"][i]["nickname"].ToString();
            rankItem.score = rankListJson["rows"][i]["score"].ToString();
            rankItem.index = rankListJson["rows"][i]["index"].ToString();
            rankItem.rank = rankListJson["rows"][i]["rank"].ToString();
            rankItem.totalCount = rankListJson["totalCount"].ToString(); // 해당 키는 [i]로 접근하지 않음.
            //추가 항목
            //rankItem.extra = rankListJson[i]["추가항목컬럼이름"].ToString();
            rankItemList.Add(rankItem);
            Debug.Log(rankItem.ToString());
        }
    }
}

안녕하세요… 이전에 올려주신 예시로 아래처럼 코드를 작성했습니다.
현재 출시되어 있는 상태에서 신규 유저 및 기존유저의 랭킹 스코어를 등록하기 위해서 닉네임 생성 여부 체크하는 곳에서 랭킹을 등록할려고 합니다.
이후 랭킹 창에서 각 모드별 랭킹을 띄워 줄려고 합니다…
(그냥 backEndRank.InserRankData() 를 진행하면 정보관리에서 테이블에 등록은 되나 랭킹 정보에 아무것도 표시되지 않습니다…)

//닉네임 생성 여부를 체크 하는 곳에서 
 BackendReturnObject my = Backend.URank.User.GetMyRank("1b8c6430-74de-11ec-8532-95fb5b7c34aa");
                if (my.IsSuccess())
                {
                    JsonData myRank = my.GetReturnValuetoJSON()["rows"]["rank"];
                    if (myRank == null)
                    {
                        Debug.Log("랭킹정보 없음");
                        //서버에 랭킹 데이터 최초 등록
                        backEndRank.InserRankData();
                        Debug.Log("랭킹데이터 최초 등록");
                    }
                       
                }

--------------------------------------------------------------------------------------------

//랭킹 데이터 입력
 public void InserRankData()
    {
        int stageLevel = GameManager.StageLevel;
        int waveLevel = GameManager.WaveLevel;
        int huntLevel = GameManager.HuntLevel;

        Param param = new Param();

        param.Add("stageLevel", stageLevel);
        param.Add("waveLevel", waveLevel);
        param.Add("huntLevel", huntLevel);

        //랭킹 테이블에 유저의 score 등록
        BackendReturnObject BRO = Backend.GameData.Insert("Score", param);
        if (BRO.IsSuccess())
        {
            Debug.Log("indate : " + BRO.GetInDate());
        }
        else
        {
            switch (BRO.GetStatusCode())
            {
                case "404":
                    Debug.Log("존재하지 않는 tableName인 경우");
                    break;

                case "412":
                    Debug.Log("비활성화 된 tableName인 경우");
                    break;

                case "413":
                    Debug.Log("하나의 row( column들의 집합 )이 400KB를 넘는 경우");
                    break;

                default:
                    Debug.Log("서버 공통 에러 발생: " + BRO.GetMessage());
                    break;
            }
        }
    }

image

위 이미지와 같이 랭킹을 띄우고자 하여
아래와 같이 …작성을 하였지만 작동 되질 않아 문의드립니다… 어떤 부분이 문제가 있는지 문의드립니다…

 public void OnClickGetRankWave()
    {
        List<PanelPopUpRank> rankItemList = new List<PanelPopUpRank>();
        BackendReturnObject bro = Backend.URank.User.GetRankList("2c4f77d0-74de-11ec-8532-95fb5b7c34aa");
        if (bro.IsSuccess())
        {
            JsonData rankListJson = bro.GetFlattenJSON();
            for (int i = 0; i < rankListJson["rows"].Count; i++)
            {
                PanelPopUpRank panelPopUpRank = new PanelPopUpRank();
                panelPopUpRank.textUserNameNo1.text = rankListJson["rows"][1]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo1.text = rankListJson["rows"][1]["score"].ToString();
                panelPopUpRank.textUserNameNo2.text = rankListJson["rows"][2]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo2.text = rankListJson["rows"][2]["score"].ToString();
                panelPopUpRank.textUserNameNo3.text = rankListJson["rows"][3]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo3.text = rankListJson["rows"][3]["score"].ToString();
                panelPopUpRank.textUserNameNo4.text = rankListJson["rows"][4]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo4.text = rankListJson["rows"][4]["score"].ToString();
                panelPopUpRank.textUserNameNo5.text = rankListJson["rows"][5]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo5.text = rankListJson["rows"][5]["score"].ToString();
                panelPopUpRank.textUserNameNo6.text = rankListJson["rows"][6]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo6.text = rankListJson["rows"][6]["score"].ToString();
                panelPopUpRank.textUserNameNo7.text = rankListJson["rows"][7]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo7.text = rankListJson["rows"][7]["score"].ToString();
                panelPopUpRank.textUserNameNo8.text = rankListJson["rows"][8]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo8.text = rankListJson["rows"][8]["score"].ToString();
                panelPopUpRank.textUserNameNo9.text = rankListJson["rows"][9]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo9.text = rankListJson["rows"][9]["score"].ToString();
                panelPopUpRank.textUserNameNo10.text = rankListJson["rows"][10]["nickname"].ToString();
                panelPopUpRank.textUserScoreNo10.text = rankListJson["rows"][10]["score"].ToString();
              
            }
        }


        BackendReturnObject my = Backend.URank.User.GetMyRank("2c4f77d0-74de-11ec-8532-95fb5b7c34aa");
        if (my.IsSuccess())
        {
            JsonData rankMy = my.GetFlattenJSON();
            panelPopUpRank.textMyRankNumber.text = rankMy["rows"]["rank"].ToString() + " 등";
            panelPopUpRank.textUserNameME.text = rankMy["rows"]["nickname"].ToString();
            panelPopUpRank.textUserScoreME.text = rankMy["rows"]["score"].ToString();
        }
    }

안녕하세요 개발자님
rows로 리턴되는 경우에는 데이터가 여러개이기 때문에 이후에 꼭 [0] 등의 숫자로 접근을 하셔야 합니다.
아래 코드를 참고하여 주시면 감사하겠습니다. :D

 BackendReturnObject my = Backend.URank.User.GetMyRank("2c4f77d0-74de-11ec-8532-95fb5b7c34aa");
        if (my.IsSuccess())
        {
            JsonData rankMy = my.GetFlattenJSON();
            panelPopUpRank.textMyRankNumber.text = rankMy["rows"][0]["rank"].ToString() + " 등";
            panelPopUpRank.textUserNameME.text = rankMy["rows"][0]["nickname"].ToString();
            panelPopUpRank.textUserScoreME.text = rankMy["rows"][0]["score"].ToString();
        }