본문으로 건너뛰기
Unveilydocs

UI 모듈 설정 (opt-in)

탭바·드로어·바텀시트·접근성 등 UI 모듈을 config.json에서 켜고 끕니다.

개요

SDK의 UI 모듈(accessibility, topDownMenu, sideDrawer, bottomTabs, bottomSheet)은 opt-in입니다. 기본 배포되는 config.json에는 모든 모듈이 꺼진 상태로 제공되며, 앱에서 실제로 쓰는 패널만 켜면 됩니다. iOS·Android 모두 동일한 config.json 방식을 사용합니다.

기본값 = opt-in (모두 비활성)

배포 패키지의 app/src/main/assets/config.json은 모든 UI 모듈이 비활성 상태입니다.

"modules": {
  "accessibility": { "enabled": false, "topDownPanel": true },
  "topDownMenu":   { "enabled": false },
  "sideDrawer":    { "enabled": false },
  "bottomTabs":    { "enabled": false, "autoHide": true },
  "bottomSheet":   { "enabled": false }
}

사용하려는 패널만 "enabled": true로 바꾸면 됩니다.

왜 opt-in인가

  • 의도하지 않은 UI/제스처 방지 — 요청하지 않은 탭·드로어·패널과 그 터치 감지기가 앱에 주입되지 않습니다.
  • 권한 & 스토어 심사 — 접근성 모듈은 마이크(음성 입력, RECORD_AUDIO)·TTS를 사용할 수 있습니다. 기본 활성화하면 원치 않는 권한이 딸려 들어와 심사가 복잡해질 수 있습니다.
  • 라이선스 티어 — 프로덕션에서는 모듈 활성화가 원격/라이선스 경로에서 티어별로 제한됩니다.

로컬 config.json은 티어 게이팅이 적용되지 않습니다. 따라서 로컬 데모에서는 실제 프로덕션 티어가 막을 패널도 보일 수 있습니다. 로컬 데모만 보고 티어 사용 가능 여부를 판단하지 마세요.

모듈별 요건

모듈켜면 바로 보이나?추가로 필요
accessibility예 — 자체 UI 즉시 표시음성 입력용 RECORD_AUDIO 권한, 읽어주기용 TTS
topDownMenu아니오setConfig(items)show
sideDrawer아니오setConfig(items)show
bottomTabs아니오setConfig(items)show; autoHide 옵션
bottomSheet부분표시할 콘텐츠 제공

티어 최소값: accessibility · bottomTabs · topDownMenu = basic, sideDrawer = standard.

각 모듈의 실제 API는 내비게이션(탭바·드로어)과 접근성 문서를 참고하세요.

데모 빠르게 체험

모든 패널이 켜진 데모 설정이 config.sample.json으로 함께 제공됩니다. 현재 설정을 백업한 뒤 덮어써서 바로 확인할 수 있습니다.

cp app/src/main/assets/config.json app/src/main/assets/config.json.bak
cp app/src/main/assets/config.sample.json app/src/main/assets/config.json

빌드 후 번들된 테스트 브릿지 페이지에서 확인하고, 끝나면 .bak 파일로 복원하세요.

config.sample.json평가용입니다. 프로덕션에서는 opt-in 원칙대로 필요한 모듈만 켠 config.json을 유지하세요.

On this page