랭킹보상 구현하는법

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 : 레전드 오브 아레나
  • 뒤끝SDK 버전 : 5.0.2
  • 에러 코드 :

랭킹보상을 구현하고 싶은데 월요일 4:00에 초기화되는 순간에 어떻게 우편으로 보낼수있는지 모르겠어요ㅠ

안녕하세요. 개발자님

랭킹 보상의 경우, 랭킹 초기화 이후(월요일 오전 4~5시 이후) 자동으로 랭커 유저에게 보내집니다.

이후 랭킹 보상을 받을 조건이 되는 유저들은 "랭킹보상 받은 리스트를 불러오는 함수(GetRankRewardList)"에서 보상 내역을 불러와 보상들의 inDate를 얻은 후,
"랭킹보상 수령하기 함수(ReceiveRankReward)"를 호출하여 랭킹 보상의 아이템 정보를 얻을 수 있습니다.

안녕하세요! Hassan님 답변 감사합니다!

답변주신 내용으로 구현하다가 다시 한번 궁금한게 생겨서 질문드립니다.
랭킹 초기화 이후에 GetRankRewardList()로 보상내역이 배열로 들어오는것까지는 확인되었습니다!

그런데 두가지가 확신이 서질않아서 다시 질문드립니다ㅠ

첫째는 ReceiveRankReward의 파라미터인 rewardPostIndate를 어디서 얻어오는건가요?
GetRankRewardList()에 row값으로 들어오는 inDate 값일것 같아서 그렇게 넣기는했는데 맞게 작성한건지…

그리고 두번째는 ReceiveRankReward()를 호출했을때 랭킹 순위에 맞는 유저분에게 자동으로 BRO.IsSuccess()가 true가 되는건지가 궁금합니다!

코드작성은 아래와 같이 했습니다!

    BackendReturnObject BRO = Backend.Rank.GetRankRewardList();

    if(BRO.IsSuccess())
    {
        // 보상 리스트
        Debug.Log(BRO.GetReturnValue());
        JsonData rows = BRO.GetReturnValuetoJSON()["rows"];

        for (int i = 0; i < rows.Count; i++)
        {
            // 보상수령하기
            string indate = rows[i]["indate"]["S"].ToString();
            BackendReturnObject receiveBRO = Backend.Rank.ReceiveRankReward(indate);

            if (receiveBRO.IsSuccess())
            {
                // 보상수령
            }
            else
            {
                Debug.Log("보상수령대상 아님");
            }
        }
    }
    else
    {
        Debug.Log("보상리스트 불러오기 실패");
    }
  1. 네 맞게 작성하셨습니다. GetRankRewardList()에 있는 inDate를 가져오시면 됩니다.

  2. GetRankRewardList()은 전체 랭킹 보상을 불러오는 것이 아닌 자신이 받은 랭킹 보상의 리스트를 불러오는 것으로, 호출할 경우 유저에 따라 보상을 받은 리스트가 다릅니다. 그러므로 GetRankRewardList()에서 가져온 보상의 inDate가 정상이라면, ReceiveRankReward()함수에 넣었을 때, 정상적으로 성공이 리턴될 것입니다.