dodam dodam logo

B1ND Docs

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 {};
});
파라미터타입설명
typeAction구독할 액션
handler(data: unknown) => Promise<object | Error>응답 처리 콜백

참고: send 후 응답을 기다리려면 useBridgeResponse를 미리 등록해 두어야 합니다.