이 글은 PC 버전 TISTORY에 최적화 되어있습니다.
Leaderboard
인스턴트 게임 리더보드 관련 SDK
getLeaderboardAsync( )
이 인스턴트 게임에 속한 특정 리더 보드를 가져옵니다.
Parameters
name
string 리더보드의 이름. 인스턴트 게임의 각 리더보드에는 고유한 이름이 있어야함.
Examples
FBInstant.getLeaderboardAsync('my_awesome_leaderboard') .then(leaderboard => { console.log(leaderboard.getName()); // 'my_awesome_leaderboard' });
- Throws LEADERBOARD_NOT_FOUND
- Throws NETWORK_FAILURE
- Throws CLIENT_UNSUPPORTED_OPERATION
- Throws INVALID_OPERATION
- Throws INVALID_PARAM
Returns Promise<Leaderboard>
getName( )
리더보드의 이름
Examples
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { console.log(leaderboard.getName()); // my_leaderboard });
Returns string
getContextID( )
리더 보드가 연결된 컨텍스트의 ID거나 특정 컨텍스트에 연결되어 있지 않은 경우 null을 반환함.
Examples
FBInstant.getLeaderboardAsync('contextual_leaderboard') .then(function(leaderboard) { console.log(leaderboard.getContextID()); // 12345678 });
FBInstant.getLeaderboardAsync('global_leaderboard') .then(function(leaderboard) { console.log(leaderboard.getContextID()); // null });
Returns string?
getEntryCountAsync( )
리더보드에 있는 플레이어 항목의 총 개수를 가져옴.
Examples
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { return leaderboard.getEntryCountAsync(); }) .then(function(count) { console.log(count); }); // 24
- Throws NETWORK_FAILURE
- Throws RATE_LIMITED
setScoreAsync( )
플레이어의 점수를 업데이트함. 플레이어에 기존 점수가 있는 경우 새 점수가 더 좋은 경우에만 바뀝니다. (참고: 리더보드가 특정 컨텍스트에 연결되어있으면 해당 컨텍스트에 있어야 게임 플레이어의 점수를 설정 할 수 있음)
Parameters
Examples
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { return leaderboard.setScoreAsync(42, '{race: "elf", level: 3}'); }) .then(function(entry) { console.log(entry.getScore()); // 42 console.log(entry.getExtraData()); // '{race: "elf", level: 3}' });
- Throws LEADERBOARD_WRONG_CONTEXT
- Throws NETWORK_FAILURE
- Throws INVALID_PARAM
- Throws INVALID_OPERATION
- Throws RATE_LIMITED
Returns Promise<LeaderboardEntry> 업데이트된 플레이어에 대한 현재 LeaderboardEntry를 반환함
getPlayerEntryAsync( )
현재 플레이어의 리더 보드 항목을 가져오거나 플레이어가 아직 설정하지 않으 경우 null을 가져옵니다.
Examples
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { return leaderboard.getPlayerEntryAsync(); }) .then(function(entry) { console.log(entry.getRank()); // 2 console.log(entry.getScore()); // 42 console.log(entry.getExtraData()); // '{race: "elf", level: 3}' });
- Throws NETWORK_FAILURE
- Throws INVALID_OPERATION
- Throws RATE_LIMITED
Returns Promise<LeaderboardEntry>
getEntriesAsync( )
리더보드에서 점수 순위별로 정렬된 리더보드 항목 집합을 검색함.
Parameters
count
number 리더보드에서 가져오기를 시도할 항목 수. 기본 값은 10이며, 현재 쿼리당 최대 100개의 항목을 가져올 수 있음.offset
number 항목을 가져올 리더보드 상단에서의 offset.
Examples
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { return leaderboard.getEntriesAsync(); }) .then(function(entries) { console.log(entries.length); // 10 console.log(entries[0].getRank()); // 1 console.log(entries[0].getScore()); // 42 console.log(entries[1].getRank()); // 2 console.log(entries[1].getScore()); // 40 });
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { return leaderboard.getEntriesAsync(5, 3); }) .then(function(entries) { console.log(entries.length); // 5 console.log(entries[0].getRank()); // 4 console.log(entries[0].getScore()); // 34 console.log(entries[1].getRank()); // 5 console.log(entries[1].getScore()); // 31 });
- Throws NETWORK_FAILURE
- Throws RATE_LIMITED
Returns Promise<Array<LeaderboardEntry>>
getConnectedPlayerEntriesAsync( )
현재 플레이어의 연결된 플레이어 (현재 플레이어 포함)의 리더보드 점수 항목을 연결된 플레이어 세트의 로컬 순위에 따라 검색함. (무슨 말이지..?)
Parameters
count
number 리더보드에서 가져오기를 시도할 항목 수. 기본 값은 10이며, 현재 쿼리당 최대 100개의 항목을 가져올 수 있음.offset
number 가져올 정렬된 연관 플레이어 스코어 집합의 offset
Examples
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { return leaderboard.getConnectedPlayerEntriesAsync(); }) .then(function(entries) { console.log(entries.length); // 10 console.log(entries[0].getRank()); // 1 console.log(entries[0].getScore()); // 42 console.log(entries[1].getRank()); // 2 console.log(entries[1].getScore()); // 40 });
FBInstant.getLeaderboardAsync('my_leaderboard') .then(function(leaderboard) { return leaderboard.getConnectedPlayerEntriesAsync(5, 3); }) .then(function(entries) { console.log(entries.length); // 5 console.log(entries[0].getRank()); // 4 console.log(entries[0].getScore()); // 34 console.log(entries[1].getRank()); // 5 console.log(entries[1].getScore()); // 31 });
- Throws NETWORK_FAILURE
- Throws RATE_LIMITED
Returns Promise<Array<LeaderboardEntry>>
LeaderboardEntry
인스턴트 게임 리더보드의 점수 항목
getScore( )
항목과 연관된 점수를 가져옵니다.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getScore()); // 9001 });
Returns number
getFormattedScore( )
항목과 연관된 점수를 리더보드와 관계되어있는 포맷으로 변환하여 가져옵니다.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getFormattedScore()); // '90.01 meters' });
Returns string
getTimestamp( )
리더보드 항목이 마지막으로 업데이트 된 시간 스탬프.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getTimestamp()); // 1515806355 });
Returns number
getRank( )
리더보드에서 플레이어 순위를 가져옴.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getRank()); // 2 });
Returns number
getExtraData( )
점수와 연결된 개발자 지정 페이로드가 있으면 가져오고 없으면 null 반환.
Examples
leaderboard.setScoreAsync(42, '{race: "elf", level: 3}'); .then(function(entry) { console.log(entry.getExtraData()); // '{race: "elf", level: 3}' });
Returns string?
getPlayer( )
항목과 연결된 플레이어 정보 가져옴.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getPlayer().getName()); // Sally });
Returns LeaderboardPlayer
LeaderboardPlayer
점수 입력과 관련된 플레이어의 세부 정보
getName( )
플레이어의 로컬라이징된 이름을 가져옴.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getPlayer().getName()); // Sally });
Returns string
getPhoto( )
플레이어의 공개 프로필 사진에 대한 URL을 받아옴.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getPlayer().getPhoto()); // <photo_url> });
Returns string?
getID( )
플레이어의 게임 고유 식별자를 가져옴.
Examples
leaderboard.setScoreAsync(9001) .then(function(entry) { console.log(entry.getPlayer().getID()); // 12345678 });
Returns string?
'Frontend > Facebook Instant Game' 카테고리의 다른 글
[Facebook Instant Games] 데이터 저장/가져오기 (1) | 2018.06.04 |
---|---|
[Facebook Instant Games] 리더보드 연동하는 방법 (0) | 2018.06.04 |
[Facebook Instant Games] SDK (context) (0) | 2018.06.01 |
[Facebook Instant Games] SDK (player) (0) | 2018.06.01 |
[Facebook Instant Game] 한국 지역에서는 테스트를 못한다고?! (11) | 2018.05.31 |
[Facebook Instant Game] SDK 한글화 (0) | 2018.05.29 |