Skip to content

게임 리더보드에 점수 제출하기

사용자가 게임이 완료되면 게임 리더보드에 점수를 제출합니다.
사용자는 앱인토스 SDK에서 식별해요.
점수를 제출하면 사용자가 리더보드에서 확인할 수 있어요.

주의하세요

  • 토스앱 5.221.0 버전부터 지원해요. 게임 리더보드를 지원하지 않는 버전에서는 undefined를 반환합니다.
  • 게임 프로필이 생성되기 전에 점수를 제출하면 오류가 발생할 수 있어요. 게임에 진입하자마자 바로 점수를 제출하는 것은 피해 주세요.

시그니처

typescript
function submitGameCenterLeaderBoardScore(params: {
  score: string;
}): Promise<SubmitGameCenterLeaderBoardScoreResponse | undefined>;

파라미터

  • params.score필수 · string

    제출할 게임 점수예요. 실수 형태의 숫자를 문자열로 전달해야 해요. "123.45" 또는 "9999" 를 제출해 주세요.

반환 값

  • Promise<SubmitGameCenterLeaderBoardScoreResponse | undefined>

    점수 제출 결과를 반환해요. 앱 버전이 최소 지원 버전보다 낮으면 아무 동작도 하지 않고 undefined를 반환해요.

예제

게임 점수를 토스게임센터 리더보드에 제출하기

tsx
import { submitGameCenterLeaderBoardScore } from '@apps-in-toss/web-framework';
import { Button } from '@toss-design-system/mobile';

function GameCenterLeaderBoardScoreSubmitButton() {
  async function handleClick() {
    try {
      const result = await submitGameCenterLeaderBoardScore({ score: '123.45' });

      if (!result) {
        console.warn('지원하지 않는 앱 버전이에요.');
        return;
      }

      if (result.statusCode === 'SUCCESS') {
        console.log('점수 제출 성공!');
      } else {
        console.error('점수 제출 실패:', result.statusCode);
      }
    } catch (error) {
      console.error('점수 제출 중 오류가 발생했어요.', error);
    }
  }

  return (
    <Button onClick={handleClick}>
      점수 제출하기
    </Button>
  );
}
tsx
import { submitGameCenterLeaderBoardScore } from '@apps-in-toss/framework';
import { Button } from "@toss-design-system/react-native";

function GameCenterLeaderBoardScoreSubmitButton() {
  async function handlePress() {
    try {
      const result = await submitGameCenterLeaderBoardScore({ score: '123.45' });

      if (!result) {
        console.warn('지원하지 않는 앱 버전이에요.');
        return;
      }

      if (result.statusCode === 'SUCCESS') {
        console.log('점수 제출 성공!');
      } else {
        console.error('점수 제출 실패:', result.statusCode);
      }
    } catch (error) {
      console.error('점수 제출 중 오류가 발생했어요.', error);
    }
  }

  return (
    <Button onPress={handlePress}>점수 제출하기</Button>
  );
}