Petnow LogoPetnow
React Native SDK

React Native SDK 소개

Petnow React Native 카메라 UI 패키지의 구조와 기술 요구사항을 소개합니다.

최신 버전

패키지버전
@petify/react-native-camera-ui1.4.5

Server API 권장: 반려동물 등록·인증·식별 등 펫 관리는 서버에서 Server API로 수행하세요. 클라이언트는 카메라 UI로 촬영만 담당합니다.


패키지 특징

@petify/react-native-camera-ui는 iOS/Android 네이티브 카메라 SDK(CameraController + CameraView)를 감싸는 UI 레이어 래퍼입니다. 카메라 프리뷰, 탐지 오버레이(코/얼굴 마커·진행 링), 유도 사운드를 그대로 제공합니다.

  • hook 기반 API: usePetnowCamera({ apiKey })가 라이선스와 검출 커맨드를 소유하는 컨트롤러 핸들을 반환합니다.
  • bare 컴포넌트: <CameraView camera={...} />가 네이티브 프리뷰+오버레이를 렌더합니다.
  • 단일 하드웨어 세션 자동 관리: RN 뷰는 네비게이션·리렌더·핫리로드로 자주 죽고 살아나지만, 카메라 세션은 패키지가 싱글톤으로 관리하므로 뷰가 소유하지 않습니다. 마지막 detach 후 짧은 grace 동안 세션을 재사용해 재초기화 비용을 줄입니다. 다만 Android는 가장 최근 attach된 뷰만 프리뷰를 가지므로, 전환 중 이전/새 뷰의 프리뷰가 잠깐 비는 구간이 있을 수 있습니다.

SDK 구조

주요 구성요소

  • usePetnowCamera({ apiKey })
    • 라이선스를 보유하고 검출 커맨드를 노출하는 컨트롤러 핸들을 반환합니다.
    • camera.state로 SDK 준비 상태를 노출합니다.
  • <CameraView camera={camera} ... />
    • 컨트롤러에 바인딩되어 네이티브 프리뷰+탐지 오버레이를 렌더합니다.
    • 마운트 시 카메라가 초기화되고, 언마운트 시 정리됩니다.

2계층 수명주기

카메라(뷰 수명)가 바깥 계층이고, 검출은 그 안에서 도는 하위 수명주기입니다.

  • 카메라는 뷰 수명을 따릅니다(마운트 = initializeCamera, 언마운트 = finalize).
  • 검출은 마운트 시 자동으로 시작되며, 이후 일시정지·재개·재촬영(startDetection)은 hook 커맨드로 제어합니다(pauseDetection은 진행률을 보존).

기술 요구사항

  • React Native: 0.75 ~ 0.86.x + New Architecture(Fabric/TurboModules) 활성화 (0.86은 React 19 및 SDK 1.4.4 이상 필요)
  • Android: minSdk 28 이상. 호스트 액티비티가 PermissionAwareActivity여야 함(RN 기본 ReactActivity가 충족 — 별도 FragmentActivity 요구 없음)
  • iOS: 16.4 이상
  • Petnow API 키 (미발급 시 support@petnow.io 문의)

다음 단계

On this page