JavaScript Bridge

SDK의 오퍼월은 WebView로 작동하며, WebView와 네이티브 앱 간 통신을 위해 JavaScript Bridge를 사용합니다.

개요

일반적으로는 JavaScript Bridge를 직접 다룰 필요가 없습니다. SDK가 자동으로 처리합니다. 하지만 고급 사용자나 커스터마이징이 필요한 경우 알아두면 유용합니다.

지원하는 메시지 타입

WebView에서 네이티브로 보낼 수 있는 메시지 타입:

  • openWebView: 서브 WebView 열기

  • close: WebView 닫기

  • trackEvent: 이벤트 추적

  • customEvent: 커스텀 이벤트 (v1.0.24+)

  • dataRequest: 데이터 요청 (v1.0.24+)

  • missionCompleted: 미션 완료 알림

  • missionProgressed: 미션 진행 알림

  • quizCompleted: 퀴즈 완료 알림

커스텀 메시지 처리

WebView에서 특정 메시지를 보냈을 때 앱에서 처리하려면:

Android:

iOS:

보안 고려사항

JavaScript Bridge는 WebView와 앱 간 통신을 가능하게 하지만, 보안에 주의해야 합니다:

  • 민감한 데이터(토큰, 비밀번호 등)를 전달하지 마세요

  • 사용자 입력을 검증하세요

  • HTTPS만 사용하세요

SDK는 기본적으로 안전하게 설정되어 있습니다.

디버깅

JavaScript Bridge 메시지를 로그로 보려면:

Android:

iOS:

그러면 Logcat/Console에 모든 Bridge 메시지가 출력됩니다.

React Native에서의 사용

React Native 앱에서는 JavaScript Bridge를 직접 구현할 필요가 없습니다.

자동 처리

React Native SDK가 WebView ↔ Native 통신을 자동으로 처리합니다:

내부적으로 React Native 브릿지를 통해 Android/iOS의 네이티브 JavaScript Bridge가 작동합니다.

커스텀 이벤트 처리

WebView에서 보내는 커스텀 이벤트를 처리하려면:

네이티브 커스터마이징

더 복잡한 커스터마이징이 필요하면 네이티브 레벨에서 구현하세요:

  • Android: 위의 Android 예시 참고 (JavaScriptBridgeListener)

  • iOS: 위의 iOS 예시 참고 (JavaScriptBridgeDelegate)

React Native에서 네이티브 모듈을 통해 접근할 수 있습니다.


다음 단계

Last updated