[언더길드:오펜스] 리더보드 400 오류 관련

안녕하세요.

public static void UpdateRank(RankType rankType, RankTier tier, RankData rankData,
System.Action onSuccess, System.Action onFail)
{
API.UpdateRank(rankType, tier, rankData,
code =>
{
if (code == 204) // success
{
onSuccess?.Invoke();
return;
}

                    if (code == 428)
                    {
                        (PopUpManager.ShowPopUp(PopUpState.Popup_Common) as Popup_Common).
                            SetText(Lan.Get("Str_RankOvering"));

                        //API.CacheRank(rankType, tier, rankData);
                    }
                    else
                    {
                        (PopUpManager.ShowPopUp(PopUpState.Popup_Common) as Popup_Common).
                            SetText(Lan.Get("Str_RankError") + "\n" + code).AddCallBack(onFail);
                    }
                }).Forget();
}

public static async UniTask UpdateRank(RankType rankType, RankTier tier, RankData data,
Action callback)
{
var inDate = await GetRowIndata(rankType);
if (inDate == null)
{
callback?.Invoke(-1);
return;
}

    var param = new Param();
    param.Add("score", data.r);
    param.Add("extraData", JsonUtility.ToJson(data));

    var source = new TaskCompletionSource<BackendReturnObject>();
    Backend.Leaderboard.User.UpdateMyDataAndRefreshLeaderboard(GetTableName(rankType, (int)tier), rankType.ToString(), inDate, param, result =>
    {
        source.SetResult(result);
    });
    var result = await source.Task;
    D.Log($"UpdateRank {result.IsSuccess()} {result.ErrorCode} {result.Message}");
    callback?.Invoke(result.StatusCode);
}

최근 업데이트 이후, 400 에러와 함께 리더보드 등록이 안되는 이슈가 많이 발생하고 있습니다.

수정한 부분은 extraData 에 uid 정보를 추가로 포함한 정도입니다.

혹시 어떠한 이유로 해당 에러가 발생하는지 서버 에러를 확인해주시면 감사하겠습니다!!

안녕하세요 개발자님,
확인 시 리더보드 갱신 시 extraData의 크기가 256byte를 초과하여 에러가 발생하고 있는 것으로 확인됩니다.
추가항목은 최대 256byte의 데이터까지 등록할 수 있으며 257byte이상 등록시 에러가 발생합니다.

아하… 의심했던 부분이 맞았군요 ㅠㅠ 음 감사합니다!

혹시 임시로 조금 늘릴 순 없겠죠? ㅠㅜ

안타깝게도 extraData의 크기와 관련한 제한에 대해서는 별도 조치가 불가합니다.
도움드리지 못해 죄송합니다.

좋아요 1