본문으로 건너뛰기

권한 (permission)

Thumbnail Image

🚀 추가된 버전 : SDKSDKv1.2.0 AndroidAndroidv1.2.0 iOSiOSv1.2.0
🛠️ 개선된 버전 : AndroidAndroidv1.9.1 iOSiOSv1.9.1
🔔 최신화 일자: 2026-03-19

개요​

permission 네임스페이스는 디바이스의 주요 권한(카메라, 위치, 마이크, 푸시 알림 등)의 상태를 확인하고 요청하는 기능을 제공합니다.
앱이 특정 권한을 필요로 할 경우, 해당 권한이 허용되었는지 확인하고, 필요 시 사용자에게 권한 요청을 수행할 수 있습니다.


필수 선행 작업​

(선택사항) microphone 권한 사용​

nachocode 대시보드의 [ 앱 빌드 > 안드로이드 앱 > 빌드 > 고급 기능 ]에서 [ 마이크 ] 토글을 활성화하여 앱 설정 완료

(선택사항) location 권한 사용​

nachocode 대시보드의 [ 앱 빌드 > 안드로이드 앱 > 빌드 > 고급 기능 ]에서 [ 위치/지도 ] 토글을 활성화하여 앱 설정 완료

nachocode_advanced_android_setting



타입 정의​

PermissionType​

nachocode SDK에서 지원하는 디바이스의 앱 권한 유형입니다.

const PERMISSION_TYPES = {
/**
* Camera usage permission
* @since 1.2.0
*/
CAMERA: 'camera',
/**
* Location access permission
* @since 1.2.0
*/
LOCATION: 'location',
/**
* Microphone usage permission
* @since 1.2.0
*/
MICROPHONE: 'microphone',
/**
* Photo usage permission
* @since 1.5.0
*/
PHOTO: 'photo',
/**
* Push notification permission
* @since 1.2.0
*/
PUSH: 'push',
} as const;
값설명추가된 버전
camera카메라 사용 권한SDKSDKv1.2.0
location위치 정보 접근 권한SDKSDKv1.2.0
microphone마이크 사용 권한SDKSDKv1.2.0
photo사진 사용 권한SDKSDKv1.5.0
push푸시 알림 권한SDKSDKv1.2.0

메서드 목록​

메서드설명추가된 버전
checkPermission(option, callback?)특정 권한이 허용되었는지 확인하고, 필요 시 권한 요청을 수행합니다.SDKSDKv1.2.0

메서드 상세​

checkPermission(option, callback?)​

경고

microphone과 location 권한은 필수 선행 작업이 완료되어야 사용할 수 있습니다.

타입 정의​

function checkPermission(
option: {
type: PermissionType;
ask?: boolean;
},
callback?: (granted: boolean) => void
): void;

설명​

지정된 권한(type)이 이미 허용되었는지 여부를 확인합니다.
콜백 함수의 매개 변수(granted)로 허용 여부를 전달합니다.

정보

2026년 01월 27일 배포된 앱소스 ver.1.9.1 버전 이전과 이후의 동작이 다릅니다.

  • 이전 : ask 옵션이 false여도 최초 권한 요청이었다면 기본 OS 권한 요청 팝업이 노출되었습니다.
  • 이후 : ask 옵션이 false일 경우 최초 여부와 상관 없이 기본 OS 권한 요청 팝업이 노출되지 않습니다.

ask 옵션이 true일 경우, 사용자가 권한을 허용하지 않았다면 권한 요청 팝업을 표시합니다.

매개변수​

이름타입필수 여부설명
option{ type: PermissionType, ask?: boolean }✅확인할 권한 유형 및 권한 요청 여부 (ask) 포함 객체
callback(granted: boolean) => void❌(optional) 권한이 허용되었는지 여부를 전달받는 콜백 함수
  • type: 확인할 권한 유형 (camera, location, microphone, photo, push)
  • ask: true인 경우, 권한이 허용되지 않았을 때 요청 팝업을 표시 (default: false)

반환 값​

해당 메서드는 반환 값을 가지지 않으며, 결과는 callback을 통해 비동기적으로 제공됩니다.
콜백 함수는 권한이 허용되었을 경우 true, 거부되었을 경우 false 값을 전달받습니다.

사용 예제​

// ex. 푸시 알림 권한 허용 여부를 확인합니다.
// 권한이 허용되지 않은 경우, 자동으로 OS 팝업을 통해 권한을 요청합니다.
Nachocode.permission.checkPermission({ type: 'push', ask: true }, granted => {
// 앱 유저의 권한 허용 여부가 매개 변수 granted에 전달 됩니다.
if (granted) {
alert('푸시 권한 허용됨.');
} else {
alert('푸시 권한 거부됨.');
}
});

주의 사항
  1. ask 옵션이 false일 경우, 사용자가 권한을 거부했더라도 팝업을 띄우지 않고 현재 권한 상태만 반환합니다.
  2. ask 옵션이 true일 경우, 사용자가 이전에 "권한을 요청하지 않음"을 선택한 경우 OS 팝업으로 다시 요청할 수 없습니다.
  3. nachocode 앱에서는 OS 팝업으로 다시 요청할 수 없을 때, 기본적으로 권한 설정 페이지로 이동하도록 구현이 되어있습니다.
  4. 특정 OS 버전에서는 권한 요청이 거부되었을 때, 앱 유저가 설정에서 직접 변경해야만 권한을 활성화할 수 있습니다.