getPlatformOS
현재 미니앱이 실행되는 플랫폼 OS를 동기적으로 반환합니다. React Native의 Platform.OS 값을 기반으로 동작하며 'ios' 또는 'android' 중 하나를 반환합니다.
시그니처
import { getPlatformOS } from '@apps-in-toss/web-framework';
declare function getPlatformOS(): 'ios' | 'android';
파라미터
없음.
반환값
'ios'— 현재 iOS 환경에서 실행 중입니다.'android'— 현재 Android 환경에서 실행 중입니다.
권한
권한이 필요하지 않습니다 — getPlatformOS는 별도의 PermissionName에 바인딩되지 않습니다. 권한이 필요한 다른 네임스페이스의 일반적인 처리 흐름은 Guides — 권한 처리 패턴을 참고하세요.
예제
최소 예제
import { getPlatformOS } from '@apps-in-toss/web-framework';
const platform = getPlatformOS();
console.log('현재 플랫폼:', platform); // 'ios' 또는 'android'
실전 예제 — 플랫폼별 스타일 분기
import { getPlatformOS } from '@apps-in-toss/web-framework';
function PlatformSpecificButton() {
const platform = getPlatformOS();
const isIos = platform === 'ios';
return (
<button
type="button"
style={{
// iOS는 둥근 버튼, Android는 Material 스타일
borderRadius: isIos ? 22 : 4,
fontFamily: isIos ? '-apple-system' : 'Roboto, sans-serif',
padding: '12px 24px',
}}
>
{isIos ? 'iOS 스타일 버튼' : 'Android 스타일 버튼'}
</button>
);
}
직접 실행해 보기
sdk-example의 Environment 페이지에서 getPlatformOS 카드를 실행해 결과를 확인할 수 있습니다.
관련 API
getOperationalEnvironment— 실행 환경(toss/sandbox)을 반환합니다.getTossAppVersion— 토스 앱 버전을 반환합니다.isMinVersionSupported— 플랫폼별 최소 버전 충족 여부를 확인합니다.
관련 가이드
- Guides — 권한 처리 패턴 — 다른 네임스페이스의 권한 흐름 (참고용;
getPlatformOS는 권한이 필요하지 않습니다). - Recipes — 플랫폼별 UI 분기 패턴 (iOS vs Android)
외부 참조
@apps-in-toss/web-framework— 상위 SDK 패키지. 실제 export는 내부적으로@apps-in-toss/web-bridge에서 가져옵니다.- React Native
Platform.OS— 이 함수는 내부적으로 React NativePlatform.OS를 사용합니다. - 표준 Web API 대응:
navigator.userAgentData.platform— 브라우저 환경에서 플랫폼을 탐지할 수 있지만, 미니앱 환경에서는getPlatformOS()가 더 신뢰할 수 있는 값을 제공합니다.