Skip to content
이 내용이 도움이 되었나요?

서버 시간 가져오기 (getServerTime)

지원환경: React NativeReact Native SDKv1.9.1WebViewWebView SDKv1.9.1
실행환경: Toss App

getServerTime 함수는 토스 앱 서버 기준의 현재 시간을 가져오는 API예요.
디바이스 시간이 아닌 서버 시간(Server Time) 을 반환하기 때문에,
클라이언트 시간 조작으로 발생할 수 있는 보상 중복 수령이나 치팅을 방지하는 데 유용해요.

출석 체크, 이벤트 기간 검증, 보상 수령 가능 여부 판단 등 시간 신뢰도가 중요한 로직에서 활용할 수 있어요.

참고하세요

  • 반환되는 시간은 Unix timestamp (밀리초 단위) 형식이에요.
  • 지원하지 않는 앱 버전에서는 undefined가 반환될 수 있어요.
  • 사용 전 getServerTime.isSupported()버전 지원 여부를 먼저 확인하는 것을 권장해요.

시그니처

typescript
function getServerTime(): Promise<number | undefined>;

반환 값

  • Promise<number | undefined>

    토스 앱 서버의 현재 시간을 Unix timestamp 밀리초 단위로 반환해요.
    (예: 1705123456789)
    지원하지 않는 버전에서는 undefined를 반환해요.

예제

tsx
import { getServerTime } from '@apps-in-toss/web-framework';

async function checkRewardEligibility() {
  // 버전 체크를 먼저 수행하는 것을 권장해요
  if (!getServerTime.isSupported()) {
    console.log('이 기능은 지원되지 않는 버전입니다.');
    return;
  }

  const serverTime = await getServerTime();
  const rewardDeadline = 1705200000000;

  if (serverTime && serverTime > rewardDeadline) {
    console.log('보상 수령 기간이 지났습니다.');
  }
}
tsx
import { getServerTime } from '@apps-in-toss/framework';

async function checkRewardEligibility() {
  // 버전 체크를 먼저 수행하는 것을 권장해요
  if (!getServerTime.isSupported()) {
    console.log('이 기능은 지원되지 않는 버전입니다.');
    return;
  }

  const serverTime = await getServerTime();
  const rewardDeadline = 1705200000000;

  if (serverTime && serverTime > rewardDeadline) {
    console.log('보상 수령 기간이 지났습니다.');
  }
}