내 리더보드 순위 조회 문의

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

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

  • 뒤끝 SDK 버전 :
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

내 리더보드 순위 조회 관련하여 문의 드립니다.
현재 UpdateMyDataAndRefreshLeaderboard()사용 후 GetMyLeaderboard() 사용하면 gap을 5로 주었을때 6명의 데이터만 불러와집니다.

UpdateMyDataAndRefreshLeaderboard() 사용 안하고 GetMyLeaderboard()에 gap을 5 주었을때는 11명의 데이터를 불러옵니다.

제 생각에 11명을 불러오는 것이 정상인 것 같은데 확인 한번 부탁드립니다.

안녕하세요 개발자님,
말씀해주신 내용 확인하여 내부에서 테스트를 진행해 보았으나,
어떠한 이상도 없이 정상적으로 순위정보를 불러오는 것으로 확인됩니다.

관련 코드 확인을 부탁드리며, 지속적으로 문제가 발생하시는 경우 코드를 공유해주시면 감사하겠습니다.

뒤끝 SDK 버전 : 5.14.1

Backend.Leaderboard.User.UpdateMyDataAndRefreshLeaderboard(rankUUID, tableName, rowInDate, param, callback =>
{
// 이후 처리
if (callback.IsSuccess())
{
Backend.Leaderboard.User.GetMyLeaderboard(uuid, 5, callback=>
{
List< UserLeaderboardItem> userLeaderboardItems = null;
if (callback.IsSuccess())
{
userLeaderboardItems = callback.GetUserLeaderboardList();
}
});
}
else
{
}
});

이런식으로 Update Callback내부에 바로 불러왔을때 발생하는것 같습니다.

공유해주신 코드 및 sdk 버전 정보를 확인해 동일 구성으로 테스트를 진행하였으나
테스트 과정에서 어떠한 이상도 없이 정상적으로 11개의 데이터가 조회되고 있습니다.
다른 안내를 드리지 못해 죄송합니다.

안녕하세요.
정확히는 callback.GetUserLeaderboardList() 했을때 들어오는 리스트가 6개만 들어옵니다.
원래라면 제 위아래 5명씩 있어야하는데 위의 5명만 잡히는 것으로 보입니다.

    Backend.Leaderboard.User.GetMyLeaderboard(uuid, 5, callback=>
    {
        List< UserLeaderboardItem> userLeaderboardItems = null;
        if (callback.IsSuccess())
        {
            userLeaderboardItems = callback.GetUserLeaderboardList();
        };
    });

재현이 안된다고 하셔서 좀 더 확인해보도록 하겠습니다.

좋아요 1

저는 재현이 되어서 테스트한 코드 같이 기입드립니다.

    string rankTableName = GetRankTableName(RankType.Arena);
    if (string.IsNullOrEmpty(rankTableName))
        return;

    LeaderboardTableItem rankTableItem = rankTableItems.Find(x => x.title.Equals(rankTableName));
    if (rankTableItem == null)
        return;

    UserRankData userRankData = UserManager.Instance.UserRankData;
    string rankUUID = rankTableItem.uuid;
    string tableName = userRankData.tableName;
    string inDate = userRankData.inDate;

    Backend.Leaderboard.User.UpdateMyDataAndRefreshLeaderboard(rankUUID, tableName, inDate, userRankData.GetArenaScoreParam(), callback =>
    {
        // 이후 처리
        if (callback.IsSuccess())
        {
            Backend.Leaderboard.User.GetMyLeaderboard(rankUUID, 5, callback2 =>
            {
                List<UserLeaderboardItem> userLeaderboardItems = null;
                if (callback2.IsSuccess())
                {
                    // 이곳에서 리스트가 6개만 불러와집니다.
                    userLeaderboardItems = callback2.GetUserLeaderboardList();

                }
            });
        }
    });

공유해주신 코드를 그대로 사용하여 테스트를 진행함에도 동일하게 정상적으로 조회되고 있습니다.
테스트를 진행하고 계신 리더보드 정보와 유저정보도 함께 공유해주실 수 있을까요?

리더보드 UUID :
유저계정 UUID :

입니다.

좋아요 1

확인 시 최하위 순위 유저로 확인됩나다.
자신의 랭킹 조회 시 gap을 통한 순위정보는 자신을 기준으로 상위/하위에 위치한 유저를 조회하기에,
최하위인 유저 기준으로는 상위 유저만 조회가 되는것입니다.
참고하여 이용해 주시면 감사하겠습니다.

좋아요 1

안녕하세요.
확인해보니 제 테스트 계정으로 테스트할때 0점으로 초기화되면서 위에 5명만 불러온 것으로 보입니다…
바쁘신 와중에 도움 주셔서 감사합니다