환경 감지 (Environment Detection)
Appify SDK는 현재 코드가 실행 중인 환경을 동기적으로 확인할 수 있는 속성들을 제공합니다. 이를 통해 웹뷰 전용 기능과 일반 웹 기능을 구분하여 처리할 수 있습니다.
속성 목록
이 속성들은 비동기 함수가 아니며, 호출 즉시 값을 반환합니다.
appify.isWebview: 현재 앱의 웹뷰 내에서 실행 중인지 여부appify.isWeb: 일반 웹 브라우저에서 실행 중인지 여부 (!isWebview)appify.isIOS: iOS 환경인지 여부appify.isAndroid: Android 환경인지 여부
사용 예제
import { appify } from '@nolraunsoft/appify-sdk';
if (appify.isWebview) {
console.log('앱 환경에서 실행 중입니다.');
if (appify.isIOS) {
// iOS 전용 로직
} else if (appify.isAndroid) {
// Android 전용 로직
}
} else {
console.log('일반 브라우저 환경입니다.');
}
환경별 분기 처리 패턴
하이브리드 앱 개발 시 네이티브 기능이 지원되지 않는 일반 웹 브라우저를 위한 폴백(Fallback) 처리가 중요합니다.
async function handlePhoto() {
if (appify.isWebview) {
// 네이티브 카메라 호출
await appify.camera.openScanner();
} else {
// 일반 웹 input type="file" 등 폴백 처리
alert('이 기능은 모바일 앱에서만 지원됩니다.');
}
}