UpdateMyDataAndRefreshLeaderboard 사용시 문의 드릴게 있습니다.

  • 베이스/채팅/데이터베이스/월드 SDK 버전 :
  • 프로젝트명 : 이블헌터ㅍ타이쿤

안녕하세요. UpdateMyDataAndRefreshLeaderboard 사용시 문의 드릴게 있습니다.

UpdateMyDataAndRefreshLeaderboard에서 집계필드와 추가필드가 존재하는데

집계필드를 건드리지 않고 추가필드만 갱신하고 싶은데 방법이 있을까요?

이하 집계필드를 score, 추가필드를 extraData

예시 리더보드 - score 1000, extraData “10”

Param param = new Param();
param.Add(“extraData”, “10”);
Backend.Leaderboard.User.UpdateMyDataAndRefreshLeaderboard(“리더보드 uuid”, “테이블 이름”, target, param);

  1. 위와 같이 집계필드를 Param에 추가하지 않고 함수 실행시 리더보드가 갱신이 되는지

위 방식으로 접근이 불가하다면

Param param = new Param();
param.Add(“score”, 1000);
param.Add(“extraData”, “20”);
Backend.Leaderboard.User.UpdateMyDataAndRefreshLeaderboard(“리더보드 uuid”, “테이블 이름”, target, param);

  1. score 가 동일하고, extraData만 변동이 있어도 리더보드가 갱신이 되는지
  2. score가 변동이 없다면 갱신이 불가한 경우 방법이 존재하는지.

궁금합니다.

안녕하세요 개발자님,
리더보드 갱신 시 집계 필드 (score) 데이터는 필수로 포함되어야하며,
extraData 데이터는 포함되어있지 않더라도 컬럼 데이터를 기준으로 자동 갱신됩니다.
또한 score 값의 변화가 없더라도 갱신 요청시 리더보드 데이터는 갱신처리됩니다.

따라서 각 경우에 다음과 같이 작동됩니다.

  1. 집계필드를 Param에 추가하지 않고 함수 실행시 리더보드가 갱신이 되는지
    아래와 같은 에러가 리턴됩니다.

    statusCode : 400
    errorCode : BadParameterException
    message : bad rankData column, 잘못된 rankData column 입니다

  2. score 가 동일하고, extraData만 변동이 있어도 리더보드가 갱신이 되는지
    갱신 처리됩니다. 또한 extraData 가 param에 없더라도, 현재 extraData 컬럼값의 변화가 있다면 해당 값으로 반영됩니다.

    예를들어 현재 리더보드에는 score 1000, extraData 50 로 순위 등록이 되어있고
    rank 테이블의 score 컬럼의 값은 1000, extaraData 컬럼의 값이 60 이라 했을때

    param.Add(“score”, 1000);
    param.Add(“extraData”, “20”);
    

    로 갱신을 시도하면 리더보드에는 score 1000, extraData 20 으로 순위 정보가 갱신처리 되고 컬럼도 동일 값으로 변경되며
    위의 param 이 아닌 아래의 param으로 갱신 시도시에는

    param.Add(“score”, 1000);
    

    리더보드에 score 1000, extraData 60으로 순위 정보가 갱신처리 됩니다.

  3. score가 변동이 없다면 갱신이 불가한 경우 방법이 존재하는지
    score 변동 여부와 관계없이 갱신됩니다.