PlayDrop logoPlayDrop Studio
만들기플레이 교환수익배우기커넥터에셋커뮤니티지원
PlayDrop logoPlayDrop Studio
만들기플레이 교환수익배우기커넥터에셋커뮤니티지원
로그인
순위표
문서

시작하기

개요첫 게임 만들기PlayDrop 게임자주 묻는 질문

Cloud로 만들기

Cloud 제작요금제 및 생성 횟수

AI 앱 연결하기

전체 커넥터ClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

게시와 공유

AI 앱에서 게시하기간단한 HTML 게임패키징과 .play게시와 가져오기게임 파일공개 범위와 노출등록 정보 아트와 동영상장르와 태그현지화인스턴트 게임

게임 경험

로딩, 일시 정지, 오디오전체 화면과 안전 영역클라우드 저장로컬 파티와 컨트롤러

함께 플레이하기

공유, 친구, 초대순위표업적온라인 파티와 음성 채팅실시간 게임 서버

수익 얻기

수익화크레딧 및 보상

에셋

게임 에셋AI 에셋 생성사용자 지정 형식과 플레이어 창작물

참조

클라이언트 SDK서버 SDKcatalogue.json오류와 복구문제 해결
문서순위표
함께 플레이하기

PlayDrop 게임의 순위표

catalogue.json에 순위표를 선언하고, sdk.leaderboards로 점수를 제출하고, 상위 순위와 플레이어 주변 순위를 보여 주세요. 점수 유형, 제한, 업데이트 규칙도 담았습니다.

순위표는 플레이어에게 다시 플레이할 이유와 공유할 순위를 줍니다. PlayDrop은 순위표마다 플레이어별 최고 점수를 저장하고 게임에 표시합니다.

순위표 선언하기

catalogue.json의 앱에 추가하세요.

json
{
  "leaderboards": [
    { "key": "high-score", "displayName": "High score", "description": "Most points in one run",
      "scoreType": "INTEGER", "sort": "DESC", "unitLabel": "pts" },
    { "key": "best-time", "displayName": "Fastest run", "description": "Time to reach the flag",
      "scoreType": "TIME_MS", "sort": "ASC" }
  ]
}
  • key: 3~64자이며 소문자로 시작하고, 그 뒤에 소문자, 숫자, _, ., -가 옵니다.
  • scoreType과 sort는 두 가지 조합만 있습니다. INTEGER와 DESC(높을수록 승리, 0 이상의 점수) 또는 TIME_MS와 ASC(낮을수록 승리, 양의 밀리초).
  • unitLabel은 선택 사항인 표시 텍스트입니다.

한 번 게시한 키는 삭제할 수 없으며 scoreType과 sort도 바꿀 수 없습니다. 더 이상 쓰지 않으려면 "status": "RETIRED"로 종료하세요. 순위표에는 패키지가 필요합니다.

점수 제출하고 읽기

js
const result = await sdk.leaderboards.submitScore("high-score", 1200);
// { accepted, improved, previousBestScore, bestScore, rank, previousRank, bestScoreAt, leaderboard }
if (result.improved) showNewBest(result.bestScore, result.rank);

const { leaderboard } = await sdk.leaderboards.get("high-score", { top: 10, aroundMe: 3 });
// leaderboard: { definition, top, player, playerEntry, aroundPlayer }

const { leaderboards } = await sdk.leaderboards.list();
  • 점수는 안전한 정수입니다. 더 좋은 점수만 최고 기록을 교체합니다.
  • top은 1100개 항목을, aroundMe는 플레이어 위아래로 각각 120개를 받습니다.
  • list({ includeRetired: true })는 종료된 순위표도 반환합니다.

매 프레임이 아니라 한 판이 끝날 때, 그리고 play 단계에서만 제출하세요. 거부된 호출은 다른 네트워크 호출처럼 처리하고, 게임은 계속 플레이할 수 있게 하세요.

게스트와 오프라인

로그인을 확인하지 않고 제출해도 됩니다. 플레이어 세션이 전혀 없으면 제출은 완료되지만 저장되지 않습니다. 오프라인 플레이를 지원하는 PlayDrop 앱처럼 기기 데이터 지원을 알리는 호스트는 오프라인에서 낸 점수를 보관했다가 나중에 동기화합니다. 이런 호스트에서 오프라인으로 읽으면 순위 없이 플레이어 본인의 최고 기록만 표시됩니다. 그 밖의 환경에서는 제출에 네트워크 연결이 필요합니다.

순위표가 하지 않는 것

SDK에는 지역, 예약 초기화, 시즌, 자동 주간 보상이 없습니다. 주간 순위표가 필요하면 주차 개념을 직접 설계에 넣으세요. 예를 들어 시즌마다 새 버전에서 새 키를 선언할 수 있습니다.

관련 항목: 업적, 클라우드 저장, 점수 공유하기.

관련 가이드

  • 업적catalogue.json에 아이콘이 있는 일반 업적과 누적 업적을 선언하고, sdk.achievements로 잠금 해제하고 진행 상황을 기록하세요.
  • 클라우드 저장sdk.me.appData와 sdk.me.updateAppData로 게스트와 로그인한 플레이어의 진행 상황을 저장하고 불러오세요. 쓰기, 미리 보기, 오프라인 플레이 규칙도 담았습니다.
  • catalogue.jsonPlayDrop 게임이 쓰는 catalogue.json 필드: 식별 정보, 등록 정보, 플레이 방식, 화면, 로그인, 인스턴트, 미리 로드, 미디어, 번역, 점수, 서버.
이전PlayDrop 게임의 공유, 친구, 초대다음PlayDrop 게임의 업적
Markdown 보기
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

이 페이지의 내용

순위표 선언하기점수 제출하고 읽기게스트와 오프라인순위표가 하지 않는 것
Markdown 보기