본문으로 건너뛰기
버전: 5.11.9

랭킹 등록하기

1. 뒤끝 콘솔에서 랭킹 UUID 복사

뒤끝 콘솔 뒤끝 베이스 > 랭킹 관리에서 생성한 랭킹의 UUID를 복사합니다.

랭킹 바로가기

2. 게임 정보 삽입 함수 작성

사전 준비에서 작성한 BackendRank.cs의 RankInsert 함수에 내용을 추가합니다.

이때 RankInsert 함수의 string rankUUID에는 1번에서 복사한 랭킹의 UUID를 붙여넣습니다.

예시 : "복사한 UUID 값" -> "4088f640-693e-11ed-ad29-ad8f0c3d4c70"

BackendRank.cs

수정 전

    public void RankInsert(int score) {
// Step 2. 랭킹 삽입하기 내용 추가
}

수정 후

    public void RankInsert(int score) {
// [변경 필요] '복사한 UUID 값'을 '뒤끝 콘솔 > 랭킹 관리'에서 생성한 랭킹의 UUID값으로 변경해주세요.
string rankUUID = "복사한 UUID 값"; // 예시 : "4088f640-693e-11ed-ad29-ad8f0c3d4c70"

string tableName = "USER_DATA";
string rowInDate = string.Empty;

// 랭킹을 삽입하기 위해서는 게임 데이터에서 사용하는 데이터의 inDate값이 필요합니다.
// 따라서 데이터를 불러온 후, 해당 데이터의 inDate값을 추출하는 작업을 해야합니다.
Debug.Log("데이터 조회를 시도합니다.");
var bro = Backend.GameData.GetMyData(tableName, new Where());

if(bro.IsSuccess() == false) {
Debug.LogError("데이터 조회 중 문제가 발생했습니다 : " + bro);
return;
}

Debug.Log("데이터 조회에 성공했습니다 : " + bro);

if(bro.FlattenRows().Count > 0) {
rowInDate = bro.FlattenRows()[0]["inDate"].ToString();
} else {
Debug.Log("데이터가 존재하지 않습니다. 데이터 삽입을 시도합니다.");
var bro2 = Backend.GameData.Insert(tableName);

if(bro2.IsSuccess() == false) {
Debug.LogError("데이터 삽입 중 문제가 발생했습니다 : " + bro2);
return;
}

Debug.Log("데이터 삽입에 성공했습니다 : " + bro2);

rowInDate = bro2.GetInDate();
}

Debug.Log("내 게임 정보의 rowInDate : " + rowInDate); // 추출된 rowIndate의 값은 다음과 같습니다.

Param param = new Param();
param.Add("level", score);

// 추출된 rowIndate를 가진 데이터에 param값으로 수정을 진행하고 랭킹에 데이터를 업데이트합니다.
Debug.Log("랭킹 삽입을 시도합니다.");
var rankBro = Backend.URank.User.UpdateUserScore(rankUUID, tableName, rowInDate, param);

if(rankBro.IsSuccess() == false) {
Debug.LogError("랭킹 등록 중 오류가 발생했습니다. : " + rankBro);
return;
}

Debug.Log("랭킹 삽입에 성공했습니다. : " + rankBro);
}

3. BackendManager.cs에 함수 호출 추가

해당 함수가 호출되기 위해서는 게임 실행 시 자동으로 호출되는 BackendManager에서 호출해야 합니다.
뒤끝 초기화와 뒤끝 로그인이 이루어진 후에 함수를 호출할 수 있도록 추가합니다.

BackendManager.cs

수정 전

    async void Test() {
await Task.Run(() => {
BackendLogin.Instance.CustomLogin("user1", "1234"); // 뒤끝 로그인

// 랭킹 기능 구현 로직 추가

Debug.Log("테스트를 종료합니다.");
});
}

수정 후

    async void Test() {
await Task.Run(() => {
BackendLogin.Instance.CustomLogin("user1", "1234"); // 뒤끝 로그인 함수

BackendRank.Instance.RankInsert(100); // [추가] 랭킹 등록하기 함수

Debug.Log("테스트를 종료합니다.");
});
}

4. 유니티에서 테스트

스크립트를 수정한 후, 유니티 디버깅을 실행시키고 유니티의 Console 로그를 확인합니다.

이때 로그에서 '랭킹 삽입에 성공했습니다. : statusCode : 204'이 표시되어야 함수 호출에 성공한 것입니다.
해당 로그 외에 statusCode : 400, 404, 409 에러등이 발생할 경우에는 UpdateUserScore 에러케이스를 통해 어떠한 에러로 문제가 발생하였는지 확인할 수 있습니다.

에러케이스

랭킹 조회중 오류가 발생했습니다. : statusCode : 404
errorCode : NotFoundException
message : rank not found, rank을(를) 찾을 수 없습니다

함수 첫번째 줄, string rankUUID = "복사한 UUID 값";의 복사한 UUID 값을 실제 콘솔에서 생성한 랭킹의 uuid로 변경해주세요.

5. 콘솔에서 확인

뒤끝 콘솔 뒤끝 베이스 > 랭킹 관리에서 생성한 랭킹을 클릭하여 유저의 순위를 확인합니다.

랭킹 바로가기