bridge-kit/web — 네이티브 기능 요청
네이티브 앱에 카메라, GPS, 햅틱 등의 기능을 요청하고 결과를 받는 모듈입니다. 웹에서 요청(Request)을 보내면 앱이 처리 후 응답(Response)을 돌려줍니다.
BridgeProvider
웹 앱 최상단에 배치해야 하는 필수 프로바이더입니다.
tsx
<BridgeProvider><App /></BridgeProvider>
- 마운트 시
SYNC액션을 전송하여 앱이 보관 중인 대기 이벤트를 수신합니다. window메시지 리스너를 등록하여 네이티브의 응답을 처리합니다.
useBridgeProvider()
브릿지의 send / subscribe 기능에 접근합니다.
반드시 BridgeProvider 내부에서 사용해야 합니다.
ts
const { send, subscribe } = useBridgeProvider();// 네이티브로 요청 전송send(Actions.HAPTIC, { style: "success" });// 수동 구독 (useBridgeResponse 대신 사용 가능)const unsubscribe = subscribe(Actions.GPS_GET, async (data) => {console.log(data);return {};});// 정리unsubscribe();
| 반환값 | 타입 | 설명 |
|---|---|---|
send(type, payload?) | void | 네이티브로 요청 전송 |
subscribe(type, handler) | () => void | 응답 핸들러 등록, 반환값은 구독 해제 함수 |
useBridgeResponse(type, handler)
특정 액션의 응답을 구독하는 훅입니다. 컴포넌트 언마운트 시 자동으로 구독이 해제됩니다.
ts
useBridgeResponse(Actions.QR_SCAN, async (data) => {const { text } = data as { text: string };processQrCode(text);return {};});
| 파라미터 | 타입 | 설명 |
|---|---|---|
type | Action | 구독할 액션 |
handler | (data: unknown) => Promise<object | Error> | 응답 처리 콜백 |
참고:
send후 응답을 기다리려면useBridgeResponse를 미리 등록해 두어야 합니다.