본문으로 건너뛰기

디바이스 (device)

🔔 최신화 일자: 2025-02-20

개요

device 네임스페이스는 디바이스의 주요 정보 및 상태를 조회하는 기능을 제공합니다.
디바이스의 모델명, OS 버전, 네트워크 연결 상태, 배터리 정보, 언어 정보 등을 확인할 수 있으며, 현재 디바이스가 Android인지 iOS인지 판별할 수도 있습니다.


타입 정의

DeviceType

디바이스 유형을 나타내는 열거형(enum)입니다.

설명
Android안드로이드 디바이스
iOSiOS 디바이스
Unknown알 수 없는 디바이스 또는 PC

NetworkConnectionType

네트워크 연결 유형을 나타내는 열거형(enum)입니다.

설명
Wi-FiWi-Fi 네트워크
Cellular셀룰러(모바일) 네트워크
Ethernet유선 네트워크(Ethernet)
No Internet Connection인터넷 연결이 끊어짐 또는 알 수 없음

메서드 목록

메서드설명추가된 버전
getCurrentLanguage(callback)디바이스의 현재 언어 코드를 반환합니다.ver.1.4.0
getBatteryLevel(callback)디바이스의 배터리 상태를 반환합니다.ver.1.3.0
getDeviceModel()디바이스의 모델명을 반환합니다.ver.1.3.0
getDeviceOS()디바이스의 OS 유형과 버전을 반환합니다.ver.1.3.0
getNetworkStatus(callback)네트워크 연결 상태를 반환합니다.ver.1.3.0
getType()현재 디바이스의 유형을 반환합니다.ver.1.0.0
isAndroid()현재 디바이스가 Android인지 확인합니다.ver.1.0.0
isIOS()현재 디바이스가 iOS인지 확인합니다.ver.1.0.0

메서드 상세

getCurrentLanguage(callback: (language: string) => any): void

  • since ver.1.4.0

설명 (getCurrentLanguage)

디바이스의 현재 언어 코드BCP 47 규격 (en-US, ko-KR, ja-JP 등)으로 반환합니다.
콜백 함수로 언어 코드 값이 전달됩니다.

매개변수 (getCurrentLanguage)

이름타입필수 여부설명
callback(language: string) => any언어 코드 반환 함수

반환 값 (getCurrentLanguage)

해당 메서드는 반환 값을 가지지 않으며, 언어 코드는 callback을 통해 비동기적으로 제공됩니다.

사용 예제 (getCurrentLanguage)

// 디바이스의 현재 언어 코드를 불러옵니다.
Nachocode.device.getCurrentLanguage(language => {
const message = `현재 디바이스 언어: ${language}`;
alert(message); // ex. 'ko-KR'
});

getBatteryLevel(callback: (status: { batteryLevel: number, isCharging: boolean }) => any): void

  • since ver.1.3.0

설명 (getBatteryLevel)

디바이스의 배터리 잔량 및 충전 상태를 조회합니다.
콜백 함수로 batteryLevel(배터리 잔량)과 isCharging(충전 여부)을 전달합니다.

매개변수 (getBatteryLevel)

이름타입필수 여부설명
callback(status: { batteryLevel: number, isCharging: boolean }) => any배터리 상태 정보를 전달하는 콜백 함수
  • batterLevel: number : 배터리의 현재 충전 비율 (0 ~ 100)
  • isCharging: boolean : 디바이스가 충전 중인지 여부 (true/false)

반환 값 (getBatteryLevel)

해당 메서드는 반환 값을 가지지 않으며, 결과는 callback을 통해 비동기적으로 제공됩니다.

사용 예제 (getBatteryLevel)

// 디바이스의 배터리 상태를 불러옵니다.
Nachocode.device.getBatteryLevel(status => {
const message =
`충전 여부: ${status.isCharging ? '충전 중' : '충전 중 아님'}\n` +
`배터리 잔량: ${status.batteryLevel ?? '알 수 없음'}`;

alert(message);
});

getDeviceModel(): string

  • since ver.1.3.0

설명 (getDeviceModel)

현재 디바이스의 모델명을 반환합니다.
nachocode에서는 자주 사용되는 디바이스 모델명을 JSON 형태로 제공합니다.

Android 삼성 기기 모델 리스트
iOS 기기 모델 리스트

구글 공식 문서에서 Android 지원되는 전체 모델 목록을 확인할 수 있습니다.

반환 값 (getDeviceModel)

타입설명
string디바이스 모델명을 반환합니다.

사용 예제 (getDeviceModel)

// 디바이스의 모델명을 불러옵니다.
const deviceModel = Nachocode.device.getDeviceModel();
console.log(`디바이스 모델명: ${deviceModel}`); // ex. 'SM-S928N'

getDeviceOS(): { os: DeviceType, version: string }

  • since ver.1.3.0

설명 (getDeviceOS)

디바이스의 운영체제(OS) (Android/iOS) 유형 및 버전 정보를 포함한 객체를 반환합니다.

반환 값 (getDeviceOS)

타입설명
{ os: DeviceType, version: string }OS 유형 및 버전을 포함한 객체

사용 예제 (getDeviceOS)

// 디바이스의 OS 정보를 불러옵니다.
const deviceOS = Nachocode.device.getDeviceOS();
console.log(`OS: ${deviceOS.os}, 버전: ${deviceOS.version}`); // ex. { os: 'Android', version: '34(14)' }

getNetworkStatus(callback: (status: { isConnected: boolean, connectionType: NetworkConnectionType }) => any): void

  • since ver.1.3.0

설명 (getNetworkStatus)

현재 디바이스의 네트워크 연결 상태 및 연결 유형(Wi-Fi, 셀룰러 등) 을 콜백 함수에 전달합니다.

매개변수 (getNetworkStatus)

이름타입필수 여부설명
callback(status: { isConnected: boolean, connectionType: NetworkConnectionType }) => any네트워크 상태 정보를 전달하는 콜백 함수
  • isConnected: 네트워크 연결 여부 (true/false).
  • connectionType: 연결 유형 (Wi-Fi, Cellular, Ethernet 등).

반환 값 (getNetworkStatus)

해당 메서드는 반환 값을 가지지 않으며, 결과는 callback을 통해 비동기적으로 제공됩니다.

사용 예제 (getNetworkStatus)

Nachocode.device.getNetworkStatus(status => {
const connectionInfo = `네트워크 상태: ${status.isConnected ? '연결됨' : '연결되지 않음'}\n연결 유형: ${status.connectionType}`;
alert(connectionInfo);
});

getType(): DeviceType

  • since ver.1.0.0

설명 (getType)

현재 디바이스의 유형(Android, iOS, Unknown) 을 탐지 및 반환합니다.

반환 값 (getType)

타입설명
DeviceType디바이스 유형을 반환합니다.

사용 예제 (getType)

// 유저 디바이스 유형을 확인합니다.
const deviceType = Nachocode.device.getType();
console.log(`디바이스 유형: ${deviceType}`); // 'Android' | 'iOS' | 'Unknown'

// 유저 디바이스 별로 로직을 다르게 처리하는 예시입니다.
switch (deviceType) {
case 'Android': // Android 디바이스를 의미합니다.
// Android 디바이스에서만 동작할 로직을 작성합니다.
break;
case 'iOS': // iPad, iPhone 등 iOS 디바이스를 의미합니다.
// iOS 디바이스에서만 동작할 로직을 작성합니다.
break;
case 'Unknown': // PC 및 기타 장치를 의미합니다.
default:
// 모바일이 아닌 PC 및 기타 환경에서 동작할 로직을 작성합니다.
break;
}

isAndroid(): boolean

  • since ver.1.0.0

설명 (isAndroid)

현재 디바이스가 Android인지 여부를 반환합니다.

반환 값 (isAndroid)

타입설명
booleanAndroid 여부 반환 (true / false)

사용 예제 (isAndroid)

if (Nachocode.device.isAndroid()) {
console.log('현재 디바이스는 Android입니다.');
// Android 디바이스에서만 동작할 로직을 작성합니다.
}

isIOS(): boolean

  • since ver.1.0.0

설명 (isIOS)

현재 디바이스가 iOS인지 여부를 반환합니다.

반환 값 (isIOS)

타입설명
booleaniOS 여부 반환 (true / false)

사용 예제 (isIOS)

if (Nachocode.device.isIOS()) {
console.log('현재 디바이스는 iOS입니다.');
// iOS 디바이스에서만 동작할 로직을 작성합니다.
}