getDeviceId
현재 사용 중인 기기의 고유 식별자를 동기적으로 반환합니다. 기기별 설정 저장, 로그 분석, 같은 사용자의 다중 기기 구분 등에 활용할 수 있습니다.
시그니처
import { getDeviceId } from '@apps-in-toss/web-framework';
declare function getDeviceId(): string;
파라미터
없음.
반환값
string— 기기 고유 식별자. 포맷은 플랫폼(iOS/Android)에 따라 다를 수 있습니다.
기기 ID 변경 가능성
기기 ID는 팩토리 리셋, OS 업그레이드, 앱 재설치 등으로 변경될 수 있습니다. 영속적인 사용자 식별에는 서버 측 사용자 ID를 함께 활용하세요.
권한
권한이 필요하지 않습니다 — getDeviceId는 별도의 PermissionName에 바인딩되지 않습니다. 권한이 필요한 다른 네임스페이스의 일반적인 처리 흐름은 Guides — 권한 처리 패턴을 참고하세요.
예제
최소 예제
import { getDeviceId } from '@apps-in-toss/web-framework';
const deviceId = getDeviceId();
console.log('기기 ID:', deviceId);
실전 예제 — 기기별 설정 분리 저장
import { getDeviceId } from '@apps-in-toss/web-framework';
import { useState, useEffect } from 'react';
function DeviceSettingsPage() {
const [deviceId, setDeviceId] = useState('');
useEffect(() => {
const id = getDeviceId();
setDeviceId(id);
}, []);
return (
<div>
<h2>기기 정보</h2>
<p>기기 ID: <code>{deviceId || '불러오는 중...'}</code></p>
<p>이 기기에서만 적용되는 설정을 저장할 때 기기 ID를 키의 일부로 사용합니다.</p>
</div>
);
}
직접 실행해 보기
sdk-example의 Environment 페이지에서 getDeviceId 카드를 실행해 결과를 확인할 수 있습니다.
관련 API
getPlatformOS— 기기의 OS 플랫폼(ios/android)을 반환합니다.getTossAppVersion— 토스 앱 버전을 반환합니다.getGroupId— 앱인토스에서 제공하는 그룹 ID를 반환합니다.
관련 가이드
- Guides — 권한 처리 패턴 — 다른 네임스페이스의 권한 흐름 (참고용;
getDeviceId는 권한이 필요하지 않습니다). - Recipes — 기기 식별자를 활용한 로그 추적 패턴
외부 참조
@apps-in-toss/web-framework— 상위 SDK 패키지. 실제 export는 내부적으로@apps-in-toss/web-bridge에서 가져옵니다.- 표준 Web API 대응: 없음 — 표준 Web API는 기기 고유 식별자를 노출하지 않습니다. 유사한 용도로는
navigator.userAgent가 있지만 기기 고유성을 보장하지 않습니다.