길드 랭킹 불러오기

뒤끝 콘솔에서 길드의 굿즈 혹은 메타데이터를 선택하여 랭킹을 지정하며, 한국시간 06:00, 12:00, 18:00, 24:00을 기준으로 업데이트 됩니다.
길드 랭킹은 길드 v3에서만 작동합니다.
길드 랭킹은 콘솔에서 제공하는 별도의 보상이 존재하지 않습니다.

주의
  • 길드 v1, v2 함수를 이용하여 길드를 생성하고 굿즈 기부, 굿즈 사용, 메타데이터 변경 등을 수행한 내역은 길드 랭킹에 집계되지 않습니다.
  • 랭킹 산출은 랭킹생성 이후 게임정보에 저장된 값만 포함됩니다.
  • 숫자형(int, long, and etc...) 메타데이터만 랭킹에 등록이 가능합니다.
  • 메타데이터를 이용하여 랭킹을 생성하는 경우 모든 길드는 해당 메타데이터 키 값을 가지고 있어야 합니다. 예를 들어 score 키 값을 가지는 메타데이터를 이용하여 랭킹을 생성할 때 특정길드는 score를 획득하여 해당 메타데이터가 존재하고, 특정길드는 score를 획득하지 않아 해당 메타데이터가 존재하지 않으면 랭킹은 산출되지 않습니다. score를 획득하지 않은 길드도 반드시 score 메타데이터를 0으로 초기화 한 값을 가지고 있어야 합니다.

랭킹 리스트 받아오기

뒤끝 콘솔에 등록한 랭킹의 리스트를 가져옵니다.

동기

GuildRankList ( ) -> BackendReturnObject;

// example
Backend.Rank.GuildRankList();

비동기

GuildRankList ( Function callback ) -> void

// example
Backend.Rank.GuildRankList( ( callback ) => 
{
    // 이후 처리
});

결과값 예시

{
  rows:
    [
        {
            // 랭킹 산출 기간 (day/week/month/all)
            date: { S : "all" },
            // 랭킹 범위 (column명)
            range: { S : "score" },
            // 랭킹 indate
            inDate: { S : "2018-12-20T02:58:16.052Z" },
            // 랭킹 uuid
            uuid: { S : "18e40340-0403-11e9-bf97-f35e61359527" },
            // 랭킹 정렬 (asc / desc)
            order: { S : "desc" },
            // 랭킹 제목
            title: { S : "러닝타임 시간" },
        } ,
    ]
}

특정 랭킹 받아오기

뒤끝 콘솔에 등록한 랭킹의 특정 항목의 값을 가져옵니다. 특정 랭킹의 값을 가져오기 위해서는 uuid값이 필요합니다.

동기

GetGuildRankByUuid ( String rankUuid ) -> BackendReturnObject
GetGuildRankByUuid ( String rankUuid, int limit ) -> BackendReturnObject
GetGuildRankByUuid ( String rankUuid, int limit, int offset ) -> BackendReturnObject

// example
Backend.Rank.GetGuildRankByUuid ( json ["rows"] [0] ["uuid"] ["S"] ); // (default) 상위 10개 길드 랭킹 정보 조회 (1-10)
Backend.Rank.GetGuildRankByUuid ( "uuid", 2 ); // 상위 2개 길드 랭킹 정보 조회 (1-2)
Backend.Rank.GetGuildRankByUuid ( "uuid", 5, 2 ); // 처음 2개 길드 이후의 상위 5개 길드 랭킹 정보 정보 (3-7)

비동기

GetGuildRankByUuid ( String rankUuid, Function callback ) -> void
GetGuildRankByUuid ( String rankUuid, int limit, Function callback ) -> void
GetGuildRankByUuid ( String rankUuid, int limit, int offset, Function callback ) -> void

// example
Backend.Rank.GetGuildRankByUuid( json ["rows"] [0] ["uuid"] ["S"], ( callback ) => 
{
    // (default) 상위 10개 길드 랭킹 정보 조회 (1-10)
    // 이후 처리
});
Backend.Rank.GetGuildRankByUuid( "uuid", 2, ( callback ) => 
{ 
    // 상위 2개 길드 랭킹 정보 조회 (1-2)
    // 이후 처리
});
Backend.Rank.GetGuildRankByUuid( "uuid", 5, 2, ( callback ) => 
{
    // 처음 2개 길드 이후의 상위 5개 길드 랭킹 정보 정보 (3-7)
    // 이후 처리
});

Parameters

ValueTypeDescriptiondefault
uuidString조회하고자 하는 랭킹의 uuid. 콘솔 혹은 GuildRankList를 통해 확인 가능.-
limitint(Optional) 불러올 랭킹의 수10
offsetint(Optional) 불러올 랭킹의 시작점 (0부터 시작)0

결과값 예시

{ 
    rows:
    [
        { 
            // 길드 이름
            guildName: { S: "theBack" },
            // 길드 InDate
            guildInDate: { S: "2019-02-18T00:25:47.096Z"},
            // 랭킹
            rank: { N: 1 },
            // 점수
            score: { N: 22000 },
            // index
            index: { N: 0 },
        },
        { 
            guildName: { S: "theEnd" },
            guildInDate: { S: "2019-02-18T00:25:49.096Z"},
            rank: { N: 2 },
            score: { N: 15000 },
            index: { N: 1 },
        }
    ],
    // 랭킹 집계된 전체 갯수
    totalCount: 2
}

Return Cases

  • 랭킹이 없는 경우
    statusCode : 200
    message : Success
    returnValue : {"rows":[],"totalCount":0}

  • 랭킹 Uuid가 틀린 경우
    statusCode : 404
    errorCode : NotFoundException
    message : rank not found, rank을(를) 찾을 수 없습니다

특정 랭킹에서 특정 길드의 랭킹 받아오기

특정 랭킹에서 특정 길드의 랭킹을 가져옵니다. 길드의 랭킹의 값을 가져오기 위해서는 랭킹의 uuid값과 길드의 indate값이 필요합니다.

동기

GetGuildRankByIndate ( String rankUuid, String guildIndate, Int gap = 0 ) -> BackendReturnObject

// example
Backend.Rank.GetGuildRankByIndate ( rankUuid, guildIndate );
Backend.Rank.GetGuildRankByIndate ( rankUuid, guildIndate, 3 );

비동기

GetGuildRankByIndate ( String rankUuid, String guildIndate, Int gap, Function callback ) -> void

// example
Backend.Rank.GetGuildRankByIndate( rankUuid, guildIndate, 0, ( callback ) => 
{
    // 이후 처리
});

Parameters

ValueTypeDescriptiondefault
rankUuidString조회하고자 하는 랭킹의 uuid. 콘솔 혹은 GuildRankList를 통해 확인 가능.-
guildIndateString조회하고자 하는 길드의 indate.-
gapint(Optional) 해당 길드를 기준으로 출력할 위아래 랭킹의 수0

Error case

  • 해당 길드가 랭킹에 없는 경우
    statusCode : 404
    errorCode : NotFoundException
    message : userRank not found, userRank을(를) 찾을 수 없습니다

결과값 예시

{ 
    rows:
    [
        { 
            // 길드 이름
            guildName: { S: "theBack" },
            // 길드 InDate
            guildInDate: { S: "2019-02-18T00:25:47.096Z"},
            // 랭킹
            rank: { N: 1 },
            // 점수
            score: { N: 22000 },
            // index
            index: { N: 0 },
        },
        { 
            guildName: { S: "theEnd" },
            guildInDate: { S: "2019-02-18T00:25:49.096Z"},
            rank: { N: 2 },
            score: { N: 15000 },
            index: { N: 1 },
        }
    ],
    // 랭킹 집계된 전체 갯수
    totalCount: 2
}

특정 랭킹에서 특정 점수인 길드 정보 불러오기

특정 랭킹의 특정 점수인 길드 정보를 불러옵니다. 길드의 랭킹의 값을 가져오기 위해서는 랭킹의 uuid값이 필요합니다.

동기

GetGuildRankByScore ( String rankUuid, int score ) -> BackendReturnObject

// example
Backend.Rank.GetGuildRankByScore ( json ["rows"] [0] ["uuid"] ["S"], 15000 );

비동기

GetGuildRankByScore ( String uuid, int score, Function callback ) -> void

// example
Backend.Rank.GetGuildRankByScore( json ["rows"] [0] ["uuid"] ["S"], 15000, ( callback ) => 
{
    // 이후 처리
});

Parameters

ValueTypeDescription
rankUuidString조회하고자 하는 랭킹의 uuid. 콘솔 혹은 GuildRankList를 통해 확인 가능.
scoreint조회할 점수

결과값 예시

  • 동일한 랭킹점수를 갖고 있는 경우, 해당점수의 모든 길드정보가 반환됩니다.
  • previousRank/nextRank는 동점의 길드가 있더라도 한개의 이전/이후 index의 정보만 반환합니다.

1. 해당 랭킹점수의 길드와 위, 아래가 있는 경우

{ 
    rows:
    [ 
        { 
            // 길드 이름
            guildName: { S: "theEnd" },
            // 길드 Indate
            guildInDate: { S: "2019-02-18T00:25:49.096Z"},
            // 랭킹
            rank: { N: 2 },
            // 점수
            score: { N: 15000 },
            // 인덱스
            index: { N: 1 },
        }
    ],
    // 해당점수 이전 랭킹의 정보 조회 
    // 존재하지 않는 경우 : previousRank: { NULL: true },
    previousRank: 
    {
        guildName: { S: "prevGuild" },
        guildInDate: { S: "2019-02-18T00:25:49.096Z"},
        rank: { N: 1 },
        score: { N: 16000 },
        index: { N: 1 },
    },
    // 해당점수 이후 랭킹의 정보 조회
    // 존재하지 않는 경우 : nextRank: { NULL: true },
    nextRank: 
    {
        guildName: { S: "nextGuild" },
        guildInDate: { S: "2019-02-18T00:25:49.096Z"},
        rank: { N: 3 },
        score: { N: 14000 },
        index: { N: 1 },
    },
    // 랭킹 집계된 전체 갯수
    totalCount: 3
}

2. 해당 랭킹점수의 길드는 없지만, 위, 아래 길드가 있는경우

 {
    rows: [ ],
    previousRank: 
    {
        guildName: { S: "prevGuild" },
        guildInDate: { S: "2019-02-18T00:25:49.096Z"},
        rank: { N: 1 },
        score: { N: 16000 },
        index: { N: 1 },
    },
    // 해당점수 이후 랭킹의 정보 조회
    // 존재하지 않는 경우 : nextRank: { NULL: true },
    nextRank: 
    {
        guildName: { S: "nextGuild" },
        guildInDate: { S: "2019-02-18T00:25:49.096Z"},
        rank: { N: 3 },
        score: { N: 14000 },
        index: { N: 1 },
    },
    // 랭킹 집계된 전체 갯수
    totalCount: 2
}

3. 랭킹에 길드가 존재하지 않는 경우

{
    rows:[ ],
    previousRank: { NULL: true },
    nextRank: { NULL: true },
    totalCount: 0
}